C語言程序設(shè)計(jì)現(xiàn)代方法(第2版)
第九章 函數(shù)
?
C89 函數(shù)未聲明即使用,編譯器遇到函數(shù)調(diào)用時(shí)會(huì)默認(rèn)認(rèn)為該函數(shù)的返回值為int型,但是不報(bào)錯(cuò)。當(dāng)遇到函數(shù)定義時(shí)返回類型并不是int型時(shí),編輯器會(huì)報(bào)錯(cuò)
?
C99 函數(shù)的形參為數(shù)組時(shí),可以說明長(zhǎng)度,然后表達(dá)數(shù)組?
int f(int, int[*]) ?* 代表數(shù)組長(zhǎng)度與前面的參數(shù)相關(guān)
?
?
第十章 程序結(jié)構(gòu)
?
靜態(tài)局部變量:
void f(){
static int i;
.....
}
即使f返回時(shí),變量i也不會(huì)丟失其值,對(duì)其他函數(shù)不可見。即對(duì)其他函數(shù)隱藏?cái)?shù)據(jù),但是它會(huì)為將來同一函數(shù)的再調(diào)用保留這些數(shù)據(jù)
?
?
?
第十一章 指針
?
變量前面加上const代表只讀(only read),不能通過該申明的變量來修改內(nèi)容
?
指針通常是地址,但不總是,因?yàn)橐部赡苁瞧屏?/p>
?
指針聲明時(shí) ?int *p; 此處的*僅代表p為指針類型,沒有實(shí)際的意義
解釋指針時(shí)2,*p =1; 此處的*指讀取存在p中的內(nèi)容的內(nèi)容,即P的實(shí)際存儲(chǔ)的是地址,(*地址)是讀取該地址的內(nèi)容
?
?