日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]1.typedeftypeof?char?*ptr_to_char; ptr_to_char?a,?b; //等價于 char?*a?,?*b; //若如下則不然 #define?d_ptr_t

1.typedef

typeof?char?*ptr_to_char;
ptr_to_char?a,?b;

//等價于
char?*a?,?*b;


//若如下則不然
#define?d_ptr_to_char?char*
d_ptr_to_char?a?,b;

//等價于
char?*a;
char?b;

2.常量

//關(guān)于指針和常量
int?const?*ptr;

這是一個指向整型常量的指針??梢孕薷闹羔樀闹?,但不能修改指針?biāo)赶虻闹怠?/p>

int?*?const?ptr;

申明ptr是一個指向整型的常量指針。指針的值為常量,無法修改。但其指向的整型值可修改。

int?const?*?const?ptr;

無論是指針還是指針指向的值均為常量,不能修改。

3.作用域

文件作用域、函數(shù)作用域、代碼塊作用域和原型作用域。其中一對花括號之間的所有語句成為一個代碼塊。

4.鏈接屬性

external、internal和none

typedef?char?*a;
int?b;
int?c(int?d)
{
????int?e;
????int?f(int?g?);

}

默認(rèn)狀態(tài)下,標(biāo)識符b,c,f的鏈接屬性為external。

代碼塊外變量默認(rèn)為external,函數(shù)聲名默認(rèn)具有external屬性。

關(guān)鍵字exter和static可以在聲明中修改標(biāo)識符的鏈接屬性。static只對默認(rèn)鏈接屬性為exter的聲明才具有改變鏈接屬性的效果。

5.存儲類型

普通內(nèi)存、運(yùn)行時棧、硬件寄存器。

凡在任何代碼塊之外聲明的變量總存儲于靜態(tài)內(nèi)存中,也就是不屬于堆棧的內(nèi)存,靜態(tài)變量(static)。若不設(shè)置初始值,默認(rèn)0.

在代碼塊內(nèi)部聲明的變量的默認(rèn)存儲類型為automatic,若不設(shè)置初始值,值未知。

注意:

? ? static:

????????當(dāng)其用于函數(shù)定義或者用于代碼塊之外的變量聲明時,值用于改變標(biāo)識符的鏈接屬性,不改變其存儲類型和作用域。

????? ? 當(dāng)其用于代碼塊內(nèi)部的變量聲明時,用于修改變量的存儲類型。


全局所有代碼塊之外否從聲明處至文件尾不允許從其他源文件訪問局部代碼塊起始處是整個代碼塊

變量不存儲于堆棧中,它的值在程序整

個執(zhí)行期一直保持

形式參數(shù)函數(shù)頭部是整個函數(shù)不允許

6.編程提示

? ? 6.1 為了保持最佳的可移植性,把字符的值限制在有符號和無符號字符范圍的交集之內(nèi),或者不要在字符上執(zhí)行算數(shù)運(yùn)算。

? ? 6.2 用它們在使用時最自然的形式來表示整型常量。

? ? 6.3? 不要把整型值和枚舉值混用。

? ? 6.4 不要依賴隱式聲明。

? ? 6.5 在定義類型的新名字時,采用typedef而不是#define

? ? 6.6 用const聲明其值不會修改的變量。

? ? 6.7 使用名字常量而不是整型常量。

? ? 6.8 不要在嵌套的代碼塊使用相同的變量名。

? ? 6.9 除了實(shí)體的具體定義位置之外,在它的其他聲明位置都使用extern關(guān)鍵字。

作用域、鏈接屬和存儲類型總結(jié)
變量類型?聲明位置是否存在于堆棧作用域如果申明為static
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉