麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

變量的作用域、鏈接屬性和存儲類型

2019-11-14 10:59:15
字體:
來源:轉載
供稿:網友

一,變量的作用域

1,代碼塊作用域。聲明位于一對大括號之間,有效范圍從聲明開始至代碼塊結束。 2,文件作用域。聲明位于所有代碼塊之外,有效范圍從聲明開始至文件尾。 3,函數作用域。函數內有效。一般只針對goto語句所用到的標簽。 4,原型作用域。只適用于函數聲明的括號內。(用到比較少) 例1:

typedef char *charPtr; //文件作用域charPtr ch_a;//文件作用域int int_a;//文件作用域int fun_a(int int_b);//fun_a是文件作用域,int_b是原型作用域int main(void){ int int_c = 0;//代碼塊作用域 { charPtr ch_c; //代碼塊作用域 int int_d; //代碼塊作用域 } fun_a(100); return 0;}int fun_a(int int_b) //int_b是代碼塊作用域{ goto stop;stop: //函數作用域。 return int_b + 1;}

二,鏈接屬性

1,無鏈接。正常的變量,多次不相互沖突的聲明被當作不同的變量實體。被存儲在不同的位置。 2,內部鏈接。同一個文件內多次聲明的同名變量,指的是同一個實體。位于不同的源文件則指不同的實體。(關鍵字static) 3,外部鏈接。同一個PRogram中不管聲明幾次,在幾個源文件中均表示同一個實體。(關鍵字extern) 例2:

typedef char *charPtr;static charPtr ch_a; //static聲明將外部鏈接轉為內部鏈接extern int int_a; //聲明int_a在其他文件中定義,表示int_a是外部鏈接。int int_b; //外部鏈接,可以在外部源文件中用extern聲明。int fun_a(int int_c); //外部鏈接int main(void){ int int_d = 0; //無鏈接 { charPtr ch_c; //無鏈接 int int_e; //無鏈接 } fun_a(100); extern int int_f; //聲明int_f在其他文件中定義。 static int int_g; //無鏈接,因為static只對默認為外部鏈接的變量有效。 return 0;}int fun_a(int int_c){ return int_c + 1;}

三,存儲類型

1,靜態內存。程序運行之前創建,程序運行過程中一直存在。并且始終保持原先的值。(用static修飾) 2,運行時堆棧。程序執行到聲明變量的代碼時創建,離開代碼段時自行銷毀。 3,硬件寄存器。(register)提示對應的變量應該放在機器的寄存器當中,而不是內存中。與編譯器相關,不一定能夠達到效果。 注:由于函數調用是實參是通過堆棧進行傳遞的,故函數的形參不能聲明用static進行修飾。

四,static的作用

1,改變鏈接屬性:將變量由外部鏈接改為內部鏈接,拒絕外部源文件使用該變量。如例2中的變量ch_a. 2,改變變量的存儲形式。變量存儲于靜態內存。用于定義靜態變量。保證變量在程序運行的過程中一直存在,且只會被定義一次。 注:對于在.h中定義的文件作用域的static變量sa,每一個引用該頭文件的源文件都會有一個獨立的變量sa。

五,C++中的static

1,類靜態成員變量: 靜態成員是類所有實例的公用變量,可以理解為類的作用域內的全局變量。同普通的static變量一樣,在程序初始化的時候分配一次,在程序運行期間一直存在。 2,類靜態成員函數 靜態函數是類所有實例的公用函數,只能訪問類的靜態成員變量,通過類名::函數名方式調用。 3,對于類的靜態成員(包括變量和函數)。在類的定義中只是聲明,必須在cpp中進行初始化/實現,初始化/實現時不需要static修飾。對于類的靜態成員變量程序會在啟動前(main()執行前)進行初始化。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 在线看免费观看av | 毛片一级免费看 | 日本在线播放一区二区三区 | 在线观看视频毛片 | 国产免费高清在线 | 欧美成年人在线视频 | 免费毛片儿 | 欧美激情性色生活片在线观看 | 国产资源在线看 | 超碰97国产在线 | 久久久久久久久久网 | 日韩欧美精品电影 | 成人辣文 | 免费一区二区三区 | 激情网站在线观看 | 亚洲小视频在线 | 久久影库 | 久久噜噜噜精品国产亚洲综合 | 中文字幕在线观看网址 | 天天曰夜夜操 | 一级黄片毛片免费看 | 成人午夜视频在线观看 | 国产亚洲精品久久久久久久久 | 久草在线视频在线 | 正在播放91精 | 欧美日韩亚洲不卡 | 免费在线观看毛片视频 | 在线成人av观看 | 天天天干夜夜夜操 | 末成年女av片一区二区 | 1级黄色毛片 | 免费激情网址 | 二区三区在线观看 | 久久精品99久久久久久2456 | 日韩av电影在线免费观看 | 香蕉久草在线 | 涩涩伊人 | 久久精品视频一区二区三区 | 国产日韩三区 | 欧日韩在线视频 | 欧美性色生活片免费播放 |