課程
/后端開發(fā)
/C
/C語言入門
為什么要有#include<string.h>,直接定義不行嗎,什么時(shí)候要添加#include<.....h>呢,求大神講解
2016-03-07
源自:C語言入門 6-8
正在回答
1.在C函數(shù)庫中提供了一些用來專門處理字符串的函數(shù),如果在程序中用到這些函數(shù),則要在程序開始部分加上#include<string.h>,C語言函數(shù)函數(shù)庫中的字符串處理函數(shù)都包含在string.h文件中。
2.#include指令稱為預(yù)編譯指令,用于將*.h文件中的信息調(diào)入到程序中以供使用。C編譯系統(tǒng)在對(duì)源程序進(jìn)行“翻譯”以前先由一個(gè)“預(yù)處理器”(也叫“預(yù)處理程序”或“預(yù)編譯器“)對(duì)預(yù)處理指令進(jìn)行預(yù)處理,對(duì)于#include<string.h>指令來說,就是將string.h頭文件中的內(nèi)容讀進(jìn)來,放在#include指令行,取代了#include<string.h>。預(yù)處理的結(jié)果與程序其他部分一起,組成一個(gè)完整的、可以用來編譯的最后的源程序,然后由編譯程序?qū)υ撛闯绦蜻M(jìn)行編譯,才得到目標(biāo)程序。
3.C語言提供兩種預(yù)編譯指令的格式,一種是用尖括號(hào)形式(如#include<staio.h>),編譯系統(tǒng)將會(huì)從存放C編譯系統(tǒng)的子目錄中去找所要包含的文件,稱為標(biāo)準(zhǔn)方式。另一種是用雙撇號(hào)形式(如#includde"staio.h"),這適用于用戶自己編寫的頭文件,你可以把自己想要定義的一系列執(zhí)行同類問題的函數(shù)寫進(jìn)去,從而建立自己的函數(shù)庫。對(duì)于C函數(shù)庫中已經(jīng)存在的,我們最好還是直接使用它,畢竟這些庫函數(shù)只是一種工具而已。
qq_雨花石的眼淚_0 提問者
1.因?yàn)樵谶@一節(jié)中用到了字符串處理函數(shù),例如strcat(),strlen()等,所有要在開頭加入#include<string.h>,而其他章節(jié)雖然出現(xiàn)了字符串,但是你會(huì)發(fā)現(xiàn)他們并沒有使用這些函數(shù),所以不用加#include<string.h>。?
2.其實(shí)在頭文件(*.h)中只是聲明了一些函數(shù),預(yù)編譯時(shí)根據(jù)你所聲明的函數(shù)到C標(biāo)準(zhǔn)函數(shù)庫中去找你要用到的函數(shù)。我們?cè)趯慍程序時(shí),都要在開頭寫上#include<stdio.h>(stdio即為standard input& output),實(shí)際上是因?yàn)槲覀兪褂昧藰?biāo)準(zhǔn)輸入輸出函數(shù)(如printf,scanf),如果你的程序不需要調(diào)用這些函數(shù),完全可以不用加#include<stdio.h>,因?yàn)榭偸怯玫?,所以成了約定俗成的東西。
3.舉個(gè)不是很恰當(dāng)?shù)睦樱帽炔∪巳メt(yī)院看病,醫(yī)生給病人開了處方之后,病人要拿著處方去藥房取藥。這個(gè)醫(yī)生開的處方就相當(dāng)于一個(gè)頭文件,里面開的藥就相當(dāng)于函數(shù)聲明,藥房就相當(dāng)于一個(gè)C函數(shù)庫,而藥房里的藥劑師根據(jù)處方上的藥名取藥,就相當(dāng)于調(diào)用了這些庫函數(shù)。最后將藥交給病人,病人吃藥,就相當(dāng)于程序執(zhí)行。(這個(gè)比喻不是很準(zhǔn)確,但應(yīng)該會(huì)對(duì)你的理解有所幫助)
4.其實(shí)我們?cè)趯W(xué)習(xí)中對(duì)這個(gè)頭文件不要過于糾結(jié),常用的也就#include<stdio.h>、#include<string.h>、#include<math.h>(一些數(shù)學(xué)函數(shù),如sqrt()求平方根),隨著學(xué)習(xí)的深入,自然就能掌握頭文件的使用和編寫。建議提前看一下imooc的《Linux C語言編程基本原理與實(shí)踐》課程的第四章多文件操作的課程。
舉報(bào)
C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言
2 回答為什么要寫#include<string.h> ?
4 回答#include <string.h> 什么意思
3 回答為什么要有#include <string.h>?
1 回答#include <stdio.h> #include <string.h> int main() { char s1[100]=""; char s2[]="我愛,"; char s3[]="慕課網(wǎng)"; /*在以下補(bǔ)全代碼*/ strcat(s2, s3); strcpy(s1, s2); printf("%s\n",s1); return 0; }
1 回答#include<stdio.h>
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-03-08
1.在C函數(shù)庫中提供了一些用來專門處理字符串的函數(shù),如果在程序中用到這些函數(shù),則要在程序開始部分加上#include<string.h>,C語言函數(shù)函數(shù)庫中的字符串處理函數(shù)都包含在string.h文件中。
2.#include指令稱為預(yù)編譯指令,用于將*.h文件中的信息調(diào)入到程序中以供使用。C編譯系統(tǒng)在對(duì)源程序進(jìn)行“翻譯”以前先由一個(gè)“預(yù)處理器”(也叫“預(yù)處理程序”或“預(yù)編譯器“)對(duì)預(yù)處理指令進(jìn)行預(yù)處理,對(duì)于#include<string.h>指令來說,就是將string.h頭文件中的內(nèi)容讀進(jìn)來,放在#include指令行,取代了#include<string.h>。預(yù)處理的結(jié)果與程序其他部分一起,組成一個(gè)完整的、可以用來編譯的最后的源程序,然后由編譯程序?qū)υ撛闯绦蜻M(jìn)行編譯,才得到目標(biāo)程序。
3.C語言提供兩種預(yù)編譯指令的格式,一種是用尖括號(hào)形式(如#include<staio.h>),編譯系統(tǒng)將會(huì)從存放C編譯系統(tǒng)的子目錄中去找所要包含的文件,稱為標(biāo)準(zhǔn)方式。另一種是用雙撇號(hào)形式(如#includde"staio.h"),這適用于用戶自己編寫的頭文件,你可以把自己想要定義的一系列執(zhí)行同類問題的函數(shù)寫進(jìn)去,從而建立自己的函數(shù)庫。對(duì)于C函數(shù)庫中已經(jīng)存在的,我們最好還是直接使用它,畢竟這些庫函數(shù)只是一種工具而已。
2016-03-08
1.因?yàn)樵谶@一節(jié)中用到了字符串處理函數(shù),例如strcat(),strlen()等,所有要在開頭加入#include<string.h>,而其他章節(jié)雖然出現(xiàn)了字符串,但是你會(huì)發(fā)現(xiàn)他們并沒有使用這些函數(shù),所以不用加#include<string.h>。?
2.其實(shí)在頭文件(*.h)中只是聲明了一些函數(shù),預(yù)編譯時(shí)根據(jù)你所聲明的函數(shù)到C標(biāo)準(zhǔn)函數(shù)庫中去找你要用到的函數(shù)。我們?cè)趯慍程序時(shí),都要在開頭寫上#include<stdio.h>(stdio即為standard input& output),實(shí)際上是因?yàn)槲覀兪褂昧藰?biāo)準(zhǔn)輸入輸出函數(shù)(如printf,scanf),如果你的程序不需要調(diào)用這些函數(shù),完全可以不用加#include<stdio.h>,因?yàn)榭偸怯玫?,所以成了約定俗成的東西。
3.舉個(gè)不是很恰當(dāng)?shù)睦樱帽炔∪巳メt(yī)院看病,醫(yī)生給病人開了處方之后,病人要拿著處方去藥房取藥。這個(gè)醫(yī)生開的處方就相當(dāng)于一個(gè)頭文件,里面開的藥就相當(dāng)于函數(shù)聲明,藥房就相當(dāng)于一個(gè)C函數(shù)庫,而藥房里的藥劑師根據(jù)處方上的藥名取藥,就相當(dāng)于調(diào)用了這些庫函數(shù)。最后將藥交給病人,病人吃藥,就相當(dāng)于程序執(zhí)行。(這個(gè)比喻不是很準(zhǔn)確,但應(yīng)該會(huì)對(duì)你的理解有所幫助)
4.其實(shí)我們?cè)趯W(xué)習(xí)中對(duì)這個(gè)頭文件不要過于糾結(jié),常用的也就#include<stdio.h>、#include<string.h>、#include<math.h>(一些數(shù)學(xué)函數(shù),如sqrt()求平方根),隨著學(xué)習(xí)的深入,自然就能掌握頭文件的使用和編寫。建議提前看一下imooc的《Linux C語言編程基本原理與實(shí)踐》課程的第四章多文件操作的課程。