c語言程式設計為什麼要多檔案呢,C語言中,如何用多個檔案編寫程式

時間 2021-05-05 00:21:44

1樓:匿名使用者

源**確實是多檔案的。不過編譯好的目標**在執行期調入記憶體後就無所謂檔案的概念了,然而不同**段之間的界限仍然存在。

模組化主要有以下幾個優點:

1.便於複用**。通用性強的重複的功能只要寫一遍就可以了,下次要用在其它程式上時只要更改很小的部分或者可以不用更改。

2.便於多人協作。在設計軟體之初就可以很清楚地分配各個開發部門的任務。

模組的編寫者本身只要關注他所寫的東西,清楚這一部分的功能,留出介面就可以了。另外,對於整個工程的負責人而言,這樣會方便瀏覽全域性的工作進度,統籌人員安排。

3.便於修改和維護。如果能確定只是某個模組有問題,在模組內解決即可,不需要牽一髮而動全身。要升級某一部分的功能,可以只針對具體的模組重新開發,節約成本。

其實不只是c語言,許多其它語言也經常使用這種方法。開發大型軟體時這種方法非常有效(否則不明顯,或者反而有***)。對於軟體設計來說這不僅僅是一種風格,而是一種方法學了。

宣告include包含的函式是宣告外部函式,只是extern關鍵字可以省略。

宣告後直接呼叫就可以了。

----

[原創回答團]

2樓:匿名使用者

實際工作中,源**檔案是要給你的工作同伴看的,你都寫到一個檔案裡,亂七八糟一大堆讓別人怎麼看,肯定要按照不同的功能劃分,寫到不同檔案中.

3樓:海盜禪杖

便於修改,除錯,層次清晰。

4樓:匿名使用者

多檔案的除了在修改上方便外

和都放在一個檔案在有區別嗎????

當然有區別了,多檔案的是將一個複雜的問題分成若干個簡單的,分別寫在一個個檔案當中,就如word,有輸入、儲存、輸出等環節,可以是輸入一個檔案或在輸入中再分成幾個檔案,這樣子以後的好處就是程式設計較容易,可以一個人負責一個檔案,然後將程式連起來(這個比較專業),出現錯誤了容易發現,如不能儲存了就找儲存那個檔案的程式就行了,增強了可讀性,如果是一個檔案,程式冗長難以實現多檔案的優越性。。我大一學的c語言,現在在學c ++,呵呵,加油

c語言中,如何用多個檔案編寫程式

5樓:匿名使用者

將一個函式寫在一個檔案裡,然後再在另一個檔案裡用「include」包含這個檔案。舉個例子 在檔案c1.c裡編一個函式:

void printword()

再建立一個檔案c2.c,檔案開頭寫上#include"c1.c",就可以呼叫c1.c裡的函式printword()了

6樓:匿名使用者

舉個簡單的例子!你會容易理解的。

你寫一個stack.h的標頭檔案,裡面宣告幾個函式原形:

stack.h

#ifndef stack_h

#define stack_h

extern void push(char);

extern char pop(void);

extern int is_empty(void);

#endif

你可以在其相應的stack.c中對這些函式進行實現stack.c

#include "stack.h"

void push(char)

char pop(void)

int is_empty(void)

在main.c中你可以這樣寫

#include

#include "stack.h"

int main()

大致格式就是這樣,在stack.h(這個名字你可以隨便定),在這個標頭檔案中宣告函式原形,在相應的stack.c中進行函式定義與實現,主程式檔案中包含這個標頭檔案之後就可以呼叫stack.

h中宣告的函式,編譯後無錯誤即可執行,你可以試試。

兄弟我可是一個字一個字的打上去的,不是貼上的。

c語言、c++:關於多檔案程式設計

7樓:匿名使用者

你如果是用編譯器自動生成的檔案,編譯器自動加到專案裡,自己寫的,你要手動在專案中新增檔案,編譯器才會檢索,編譯器只檢索屬於專案的檔案

1,.c或者.cpp不需要包含,如果你是用vs系列,.h和.cpp是一對的,你包含了x.h就是能使用x.cpp的資源、你自己想包含的話那也無所謂,一般是編譯器做的

2 .h可以新增實現,一切都可以新增。但是為了**的隱藏和符合程式設計的機制,一般都放到對應的.cpp。簡短的函式可以直接放在.h,你自己找起來也方便

3.包含了.h就能直接使用對應的.

c。專案中這種事情一般讓編譯器去實現。其實編譯的時候,編譯器會自動檢索所有檔案,只要你有宣告,實現不管你寫在哪,編譯器都會找到的,寫在對應的.

h和.cpp是為了方便和規範的需要

8樓:匿名使用者

第一 不行

第二 為了方便 因為每次都要在原始檔中加入這樣會不方便的,如果,在.h檔案宣告 那麼 直接包含標頭檔案就可以啦! 這個不是必須的 但是符合軟體工程思想 這個是標準吧!

第三 這個是函式宣告的作用 宣告為了證明有這個函式 至於這個函式在別的地方啊!

c語言多檔案程式設計

9樓:匿名使用者

多個.c檔案利於**的重複利用、模組化程式設計,保持每個檔案中**不過長,利於除錯,可分段優化編譯等

多個main函式當然要去掉,一般你使用其他人編的程式可以利用他們的函式,而要將main函式改寫或去除重寫

把這些可用的.c檔案複製、新增到你自己的目錄、自己的工程,還要新增這些.c檔案中包含函式的.h檔案,以便在呼叫函式之前引用

一般extern共享全域性變數

10樓:馮老師(必果學院

多個c檔案的作用在於將不同功能的**分開來實現,這樣便於**重用、**編譯和**管理。

一個程式中,只能有一個main函式,這是整個程式的起點和入口。如果其他人也實現了該函式,則必須要重新命名,然後在唯一的main函式中統一呼叫。

多個c檔案的合併並沒有順序要求,任何一個都可以先編譯或者後編譯。

extern表示匯出,可以用於函式和變數。用於函式的時候,表示這是一個外部函式,用於變數的時候,表示這是一個外部變數。

如果使用一個c檔案,多個h檔案,則會導致改動**任何一個地方,都要重新編譯所有的檔案,效率上非常不划算。而使用多個c檔案,當**發生變更的時候,僅僅相關的c檔案**需要重新編譯,其他**則可以保持不變,不用參與編譯。

函式中的區域性變數無法在函式外部呼叫,只能通過引數傳遞的方式傳遞給第三方函式。因為區域性變數是出於棧上面的,棧會隨著函式呼叫完畢的時候被系統**。

11樓:

多個.c檔案使你的程式具有更好的閱讀性,而且一個.c對應自己的一個在自己檔案的作用域,用extern可以將全域性變數宣告拓展出去,你在一個.

c檔案裡面宣告的變數無論是不是全域性還是constant、static、區域性,都只在自己的檔案的作用域裡面,用extern可以宣告到其他的.c裡面。編譯的時候是按照先分開編譯一個一個.

c檔案生成對應的一個個obj中間檔案,然後再根據包含的標頭檔案進行連線。

c 程式語言,什麼是C 程式語言

只列和專業相關的課程,具體順序可能有誤,畢竟畢業太久了.大一 電腦科學 講述現代計算機系統的一些基礎知識 pascal 一門規範性非常強的程式語言,是dephi使用的語言.先學習規範性強的語言,對以後學習c,c 有很大幫助,畢竟c的隨意性太強了.c語言 不多說了 計算機組成原理 硬體的基礎知識,硬體...

c語言程式設計題,為什麼選a呢,c語言程式設計題,為什麼選A呢?

wdream龍 圖中是一個a?b c選擇表示式,a若為真,整個表示式的值就為b,a為假,表示式的值就為c,題目中應該是一個a?b c?d e的巢狀表示式,當a為真時,將b的值賦給y,a為假,再判斷c,若為真,將d賦給y,為假就將e賦給y,這樣你比較一下選擇項中的式子的功能就知道了,最好能夠在軟體中除...

c語言程式設計為什麼會出現undefinedsymbol錯誤

兔老大米奇 當出現沒有定義的變數,或無法處理的符號時,就會出undefined symbol 錯誤,意思是沒有定義的符號。libz.so.1 usr lib64 libz.so.1 0x00002b1ecf5f3000 這種情況意味著能找到該動態庫 libz.so.1 not found 這種就是找...