當前位置:首頁 » 電腦資訊 » c中為什麼要分開文件

c中為什麼要分開文件

發布時間: 2023-02-08 02:39:19

① C語言中,為什麼要把被調用函數放在不同的文件中

這樣一個文件里的代碼不會太多,有更好的可閱讀性
並且,功能相同的函數放在一起,也更易於管理 。

② C語言,用一個庫,比如OpenSSL的時候,為什麼要分靜態庫和頭文件呢。有

就像開車,沒方向盤,沒油門,不管怎樣的司機都沒法把車開起來。但是只有方向盤和油門,沒有輪子和發動機,車也不可能開起來。

庫文件就像輪子和發動機,沒有它,庫就是空殼而已,動不起來。但是只有輪子和發動機,也是不能用的,要讓它在合適的地方動起來,按自己的想法行動,到達自己想要的目的,就要包含頭文件,然後用頭文件提供的功能控制它的行動

③ 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函數的話就錯誤了撒。

不知道我回答的對不對的上你的問題。哈哈

④ C語言中,為什麼函數頭和函數體分屬不同的文件呢

可能是理解有誤吧。人家說的是函數不能分解到兩個文件中,例如函數頭和函數體分屬不同的文件就是屬於分解到兩個文件的情況

⑤ C++中為什麼要頭文件和源文件分開寫

因為c++是從c擴展出來的, 而c是個幾十年前的語言, 那時候電腦內存小得可憐, 編譯器很難直接從源文件里直接把聲明的內容都分離出來, 你手動寫好頭文件把聲明先列好的話編譯器乾的活就少很多, 編譯器實現起來也更簡單
所以基本上只是歷史原因, 分開來寫之後雖然也有一些好處但總得來說就是更麻煩

⑥ C語言中為什麼要頭文件和源文件分開寫

c語言中頭文件和源文件不在同一文件夾也可以的,引用中加入頭文件的絕對路徑就可以。這里在「F:/代碼」下新建一個頭文件1.h,內容是「inta=10」,在其它目錄新建cpp文件,如下:#include#include"F:/代碼/1.h"//引用1.h文件voidmain(){intb=10

⑦ C語言中為什麼要對文件進行打開和關閉

在C語言中,對文件打開和關閉的作用分別是:
1、打開文件,才能對文件進行操作,文件如果不打開,則無法操作裡面的內容。
2、關閉文件,這是為了結束一個實例,釋放內存;如果只打開文件,用完之後不關閉,則可能造成內存溢出。

⑧ c語言編程為什麼要多文件呢

源代碼確實是多文件的。不過編譯好的目標代碼在運行期調入內存後就無所謂文件的概念了,然而不同代碼段之間的界限仍然存在。
模塊化主要有以下幾個優點:
1.便於復用代碼。通用性強的重復的功能只要寫一遍就可以了,下次要用在其它程序上時只要更改很小的部分或者可以不用更改。
2.便於多人協作。在設計軟體之初就可以很清楚地分配各個開發部門的任務。模塊的編寫者本身只要關注他所寫的東西,清楚這一部分的功能,留出介面就可以了。另外,對於整個工程的負責人而言,這樣會方便瀏覽全局的工作進度,統籌人員安排。
3.便於修改和維護。如果能確定只是某個模塊有問題,在模塊內解決即可,不需要牽一發而動全身。要升級某一部分的功能,可以只針對具體的模塊重新開發,節約成本。
其實不只是C語言,許多其它語言也經常使用這種方法。開發大型軟體時這種方法非常有效(否則不明顯,或者反而有副作用)。對於軟體設計來說這不僅僅是一種風格,而是一種方法學了。
聲明include包含的函數是聲明外部函數,只是extern關鍵字可以省略。
聲明後直接調用就可以了。
----
[原創回答團]

⑨ C++中為什麼要頭文件和源文件分開寫呢

一般都是代表一個基本功能的源文件引用相應的頭文件。 一個 相關功能的模塊可能有若干對源文件和頭文件組成。這是基於組件編程的核心。 在我看來,他的好處是巨大的,是java不可比擬的,也是不可復制的: c語言中頭文件中一般定義了函數的聲明、結構體的定義、宏定義。(常量和全局變數最好放到源文件中) 1) 從業務擴展性上看:頭文件中放函數的聲明,函數由源文件實現,這就是將面向介面編程:介面和實現分開,這在面對業務變更頻繁的需求中技術實現的好處是顯而易見的--只要定義出良好地、擴展性高的介面,實現是可以很方便的更換。 2) 從程序架構上看:代碼在在大型程序中 需要分成不同的模塊,單一模塊中又可能分為不同的業務功能單元,他們間有很多相互的調用。 頭文件中的方法聲明、結構體定義、宏就都可以充當這部分的模塊與模塊間、業務功能單位間的介面調用。模塊與模塊間,功能單元與功能單元間都是面向介面的調用,耦合性低,這正是基於組件編程的核心思想。 3) 從某些技術角度實現上看:頭文件可通過宏定義來保證類定義、結構體定義、宏定義的唯一性。確實很方便,不容易出錯。 在用makefile編譯程序時,各個功能單元單獨編譯,構成中間文件.最終這些中間文件鏈接成可執行程序,在這些中間文件中重復引用同一頭文件是不可避免的。但如果頭文件有保護性編程就可以很容易保證類、結構體、宏定義的唯一性 ----最終鏈接成可執行程序時,可執行程序中代碼區中只會有唯一的類、結構體、宏的定義,其他都因為不滿足唯一性保護失效。這樣的實現是不是很『優雅』:)))? 我不知道你是否是這樣認為,至於我,我是這樣認為,haha~

⑩ c語言程序中為什麼要分頭文件和主文件

方便管理
C文件實現
頭文件定義變數和聲明
這樣頭文件可以被多個C文件引用而不會出問題
方便代碼重用,減少問題,降低維護難度。

熱點內容
為什麼微信信息會出現攔截 發布:2024-04-27 12:37:07 瀏覽:309
羅袖動香為什麼淘寶搜不到 發布:2024-04-27 12:08:19 瀏覽:404
雲麥筋膜槍為什麼不好 發布:2024-04-27 11:51:33 瀏覽:192
我的世界ec為什麼找不到房間 發布:2024-04-27 11:29:28 瀏覽:371
孩子有些感冒又拉又吐為什麼 發布:2024-04-27 11:29:23 瀏覽:497
為什麼華為應用更新不了微信 發布:2024-04-27 11:16:09 瀏覽:32
男生因為什麼會不理女生 發布:2024-04-27 11:10:09 瀏覽:868
女生不喜歡肌肉男為什麼 發布:2024-04-27 11:07:43 瀏覽:919
為什麼自己學不好日語 發布:2024-04-27 11:07:43 瀏覽:958
有煙味眼睛為什麼會疼 發布:2024-04-27 10:46:26 瀏覽:798