c語言為什麼要分文件
A. 在C語言中「 文件」是用來干什麼的
文件是專門用來存放數據的,對於一個C程序,你可以從鍵盤輸入數據,可以向屏幕輸出數所。但如果,你想處理一個成績表,而成績表存在一個記事本裡面,而你又不想將數據一個一個的輸進去,這時你就可以用文件操作語句,打開存著成績表的記事本,然後將成績表中的數據用相應的語句傳給C語言中的變數,然後再進行運算處理。當然,記事本中的數據格式,要與你C語言中的操作語句相匹配。
B. C語言中,為什麼函數頭和函數體分屬不同的文件呢
可能是理解有誤吧。人家說的是函數不能分解到兩個文件中,例如函數頭和函數體分屬不同的文件就是屬於分解到兩個文件的情況
C. c語言工程為什麼要多個文件來組成c程序
//project.c文件
#include "intput.h" //輸入
#include "output.h" //輸出
#include <stdio.h>
int main()
{
char buf[100] = '0';
int value = sizeof(buf);
input(buf, value); //定義在input.h裡面
output(buf); //定義在output.h裡面
return 0;
}
//input.h文件
#ifndef INPUT_H
#define INPUT_H
char tmp[100] = 0;
int input(char *buf, int size);
#endif
//output.c文件
#include <stdio.h>
#include "output.h"
int input(char *buf, int size)
{
scanf(%s, tmp);
if (buf != NULL)
{
int i = 0;
for( ; i < size; i++)
{
buf[i] = tmp[i];
}
}
return 0;
}
//output.h文件
#ifndef OUTPUT_H
#define OUTPUT_H
int output(char *buf);
#endif
//output.c文件
#include <stdio.h>
#include "output.h"
int output(char *buf)
{
printf("%s\n", buf);
return 0;
}
我這里有5個文件構成了一個C程序(我沒有調試哈),這個就是一個小的工程。一個工程或工作區是便於管理這些文件,容易讀寫,而且編譯器在編譯的時候優先在裡面找文件。
「我聽說什麼創建了工程,之後寫c程序就沒法運行了」,沒讀懂什麼意思,程序通常從main開始執行,當然你的工程里如果多了一個C文件,若再多一個main函數的話就錯誤了撒。
不知道我回答的對不對的上你的問題。哈哈
D. c語言程序中為什麼要分頭文件和主文件
方便管理
C文件實現
頭文件定義變數和聲明
這樣頭文件可以被多個C文件引用而不會出問題
方便代碼重用,減少問題,降低維護難度。
E. C語言中為什麼要頭文件和源文件分開寫
c語言中頭文件和源文件不在同一文件夾也可以的,引用中加入頭文件的絕對路徑就可以。這里在「F:/代碼」下新建一個頭文件1.h,內容是「inta=10」,在其它目錄新建cpp文件,如下:#include#include"F:/代碼/1.h"//引用1.h文件voidmain(){intb=10
F. C++中為什麼要頭文件和源文件分開寫呢
一般都是代表一個基本功能的源文件引用相應的頭文件。 一個 相關功能的模塊可能有若干對源文件和頭文件組成。這是基於組件編程的核心。 在我看來,他的好處是巨大的,是java不可比擬的,也是不可復制的: c語言中頭文件中一般定義了函數的聲明、結構體的定義、宏定義。(常量和全局變數最好放到源文件中) 1) 從業務擴展性上看:頭文件中放函數的聲明,函數由源文件實現,這就是將面向介面編程:介面和實現分開,這在面對業務變更頻繁的需求中技術實現的好處是顯而易見的--只要定義出良好地、擴展性高的介面,實現是可以很方便的更換。 2) 從程序架構上看:代碼在在大型程序中 需要分成不同的模塊,單一模塊中又可能分為不同的業務功能單元,他們間有很多相互的調用。 頭文件中的方法聲明、結構體定義、宏就都可以充當這部分的模塊與模塊間、業務功能單位間的介面調用。模塊與模塊間,功能單元與功能單元間都是面向介面的調用,耦合性低,這正是基於組件編程的核心思想。 3) 從某些技術角度實現上看:頭文件可通過宏定義來保證類定義、結構體定義、宏定義的唯一性。確實很方便,不容易出錯。 在用makefile編譯程序時,各個功能單元單獨編譯,構成中間文件.最終這些中間文件鏈接成可執行程序,在這些中間文件中重復引用同一頭文件是不可避免的。但如果頭文件有保護性編程就可以很容易保證類、結構體、宏定義的唯一性 ----最終鏈接成可執行程序時,可執行程序中代碼區中只會有唯一的類、結構體、宏的定義,其他都因為不滿足唯一性保護失效。這樣的實現是不是很『優雅』:)))? 我不知道你是否是這樣認為,至於我,我是這樣認為,haha~
G. C語言,用一個庫,比如OpenSSL的時候,為什麼要分靜態庫和頭文件呢。有
就像開車,沒方向盤,沒油門,不管怎樣的司機都沒法把車開起來。但是只有方向盤和油門,沒有輪子和發動機,車也不可能開起來。
庫文件就像輪子和發動機,沒有它,庫就是空殼而已,動不起來。但是只有輪子和發動機,也是不能用的,要讓它在合適的地方動起來,按自己的想法行動,到達自己想要的目的,就要包含頭文件,然後用頭文件提供的功能控制它的行動