c語(yǔ)言要點(diǎn)總結(jié)

c語(yǔ)言要點(diǎn)總結(jié)

ID:34362350

大小:1.82 MB

頁(yè)數(shù):36頁(yè)

時(shí)間:2019-03-05

c語(yǔ)言要點(diǎn)總結(jié)_第1頁(yè)
c語(yǔ)言要點(diǎn)總結(jié)_第2頁(yè)
c語(yǔ)言要點(diǎn)總結(jié)_第3頁(yè)
c語(yǔ)言要點(diǎn)總結(jié)_第4頁(yè)
c語(yǔ)言要點(diǎn)總結(jié)_第5頁(yè)
資源描述:

《c語(yǔ)言要點(diǎn)總結(jié)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、.《C和指針》《C專家編程》《C陷阱與缺陷》《C語(yǔ)言編程要點(diǎn)》總結(jié)說(shuō)明:總結(jié)的知識(shí)點(diǎn)主要源于上面的4本書。--wuliming--2007-04-25wuliming_sc@163.com...指針和數(shù)組相關(guān)概念*************************************************字符與字符串的區(qū)別指針與數(shù)組1指針與數(shù)組2指針和數(shù)組的相同與不同用malloc為字符串分配存儲(chǔ)空間時(shí)的注意事項(xiàng)字符串常量用字符串常量初始化指針和數(shù)組二維數(shù)組下標(biāo)操作的相關(guān)概念指向一維、二維數(shù)組的指針arr

2、ay_name和&array_name的異同數(shù)組作為函數(shù)的參數(shù)時(shí),不能通過sizeof運(yùn)算符得到該數(shù)組的大小用strlen()求字符串的長(zhǎng)度‘char**’和‘constchar**’的兼容性問題空指針相關(guān)的問題NULL和NUL的區(qū)別未初始化的指針和NULL指針的區(qū)別理解函數(shù)的聲明函數(shù)參數(shù)的傳值調(diào)用函數(shù)指針作為函數(shù)參數(shù)的多維數(shù)組強(qiáng)制類型轉(zhuǎn)換相關(guān)概念malloc()、calloc()、realloc()...字符與字符串的區(qū)別(c缺陷與陷阱1.5節(jié))#includeintmain(){char

3、ch='abcdefghijklmnopqrstuvwxyz';charstr[]="abcdefghijklmnopqrstuvwxyz";printf("-----%c-----%s",ch,str);return0;}編譯該程序可以通過,但是會(huì)產(chǎn)生警告;輸出結(jié)過為:-----z-----...Abcdefghijklmnopqrstuvwxyz//在Dev-C++4.9.9.2編譯環(huán)境中可以通過,但是在VC.0中通不過指針與數(shù)組1(c缺陷與陷阱3.1節(jié))c語(yǔ)言中的數(shù)組值得注意的地方有以下兩點(diǎn):1

4、、c語(yǔ)言中只有一維數(shù)組,而且數(shù)組的大小必須在編譯期間就作為一個(gè)常數(shù)確定下來(lái)(C99標(biāo)準(zhǔn)允許變長(zhǎng)數(shù)組,GCC編譯器中實(shí)現(xiàn)了變長(zhǎng)數(shù)組)。然而,c語(yǔ)言中數(shù)組的元素可以是任何類型的對(duì)象,當(dāng)然也可以是另外一個(gè)數(shù)組。這樣,要仿真出一個(gè)多維數(shù)組就不是一件難事。2、對(duì)于一個(gè)數(shù)組,我們只能夠做兩件事:確定該數(shù)組的大小,以及獲得指向該數(shù)組下標(biāo)為0的元素的指針。其他有關(guān)數(shù)組的操作,哪怕它們乍看上去是以數(shù)組下標(biāo)進(jìn)行運(yùn)算的,實(shí)際上都是通過指針進(jìn)行的。換句話說(shuō),任何一個(gè)數(shù)組下標(biāo)運(yùn)算都等同于一個(gè)對(duì)應(yīng)的指針運(yùn)算,因此我們完全可以依據(jù)指針行為

5、定義數(shù)組下標(biāo)的行為?,F(xiàn)在考慮下面的例子:inti;int*p;intcalendar[12][31];上面聲明的calendar是一個(gè)數(shù)組,該數(shù)組擁有12個(gè)數(shù)組類型的元素,其中的每個(gè)元素都是一個(gè)擁有31個(gè)整型元素的數(shù)組。因此,sizeof(calendar)的值是:31×12×sizeof(int)??紤]一下,calendar[4]的含義是什么?因?yàn)閏alender是一個(gè)有著12個(gè)數(shù)組類型元素的數(shù)組,它的每個(gè)數(shù)組類型元素又是一個(gè)有著31個(gè)整型元素的數(shù)組,所以calendar[4]是calendar數(shù)組的第5個(gè)

6、元素,是calendar數(shù)組中12個(gè)有著31個(gè)整型元素的數(shù)組之一。因此,calendar[4]的行為也表現(xiàn)為一個(gè)有著31個(gè)整型元素的數(shù)組的行為。例如,sizeof(calendar[4])的結(jié)果是:31×sizeof(int)。又如,p=calendar[4];這個(gè)語(yǔ)句使指針p指向了數(shù)組calendar[4]中下標(biāo)為0的元素。因?yàn)閏alendar[4]是一個(gè)數(shù)組,我們可以通過下標(biāo)的形式來(lái)指定這個(gè)數(shù)組中的元素:i=calendar[4][7],這個(gè)語(yǔ)句也可以寫成下面這樣而表達(dá)的意思保持不變:i=*(calend

7、ar[4]+7),還可以進(jìn)一步寫成:i=*(*(calendar+4)+7)。下面我們?cè)倏矗簆=calendar;這個(gè)語(yǔ)句是非法的,因?yàn)閏alendar是一個(gè)二維數(shù)組,即“數(shù)組的數(shù)組”,在此處的上下文中使用calendar名稱會(huì)將其轉(zhuǎn)換為一個(gè)指向數(shù)組的指針。而p是一個(gè)指向整型變量的指針,兩個(gè)指針的類型不一樣,所以是非法的。顯然,我們需要一種聲明指向數(shù)組的指針的方法。intcalendar[12][31];int(*monthp)[31];monthp=calendar;int(*monthp)[31]語(yǔ)句聲明

8、的*monthp是一個(gè)擁有31個(gè)整型元素的數(shù)組,因此,monthp就是一個(gè)指向這樣的數(shù)組的指針。monthp指向數(shù)組calendar的第一個(gè)元素。...指針與數(shù)組2(c和指針.P141.)·1、數(shù)組的名的值是一個(gè)指針常量,不能試圖將一個(gè)地址賦值給數(shù)組名;·2、當(dāng)數(shù)組名作為sizeof操作符的操作數(shù)時(shí),sizeof(arrayname)返回的是整個(gè)數(shù)組的長(zhǎng)度,而不是指向數(shù)組的指針的長(zhǎng)度;·3、當(dāng)數(shù)組名

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。