成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

C語言static關(guān)鍵字

LoftySoul / 2327人閱讀

摘要:目錄關(guān)鍵字修飾局部變量修飾全局變量修飾函數(shù)關(guān)鍵字修飾局部變量使得局部變量出了自己的范圍也不銷毀,其實是改變了其生命周期但是作用域還是局部的。

static關(guān)鍵字

  1. static修飾局部變量

使得局部變量出了自己的范圍也不銷毀,其實是改變了其生命周期 但是作用域還是局部的。

  1. static修飾全局變量
  2. static修飾函數(shù)

修飾局部變量

不使用static修飾局部變量:

void test() {	int a = 1;	a++;	printf("%d/n", a);}int main() {	int i = 0;	while (i < 10) {		test();		i++;	}	return 0;}

使用static修飾局部變量:

void test() {	static int a = 1;	a++;	printf("%d/n", a);}int main() {	int i = 0;	while (i < 10) {		test();		i++;	}	return 0;}


總結(jié):

  1. 使得局部變量出了自己的范圍也不銷毀,其實是改變了其生命周期
  2. 但是作用域還是局部的。

修飾全局變量

未使用static修飾全局變量:
test.c文件:

extern int g_val;//聲明外部變量,在add.c中定義變量,int main() {	printf("%d/n", g_val);	return 0;}

add.c文件:

int g_val = 200;

使用static修飾全局變量:
test.c文件:

extern int g_val;//聲明外部變量,在add.c中定義變量,int main() {	printf("%d/n", g_val);	return 0;}

add.c文件:

static int g_val = 200;

運行出錯:

總結(jié):

  1. 全局變量,本身具有外部鏈接屬性
  2. 如果全局變量在源文件是靜態(tài)的static,會使得全局變量失去外部鏈接屬性
  3. 變成內(nèi)部鏈接屬性,只能在本來的.c文件使用

修飾函數(shù)

未使用static關(guān)鍵字:
//聲明外部符號
test.c文件:

extern Add(int x,int y);int main() {	int a = 10;	int b = 20;	int ret = Add(a, b);	printf("%d/n", ret);	return 0;}

add.c文件:

int Add(int x, int y) {//int表示函數(shù)調(diào)用返回int變量	int z = x + y;	return z;}

使用static關(guān)鍵字:
//聲明外部符號
test.c文件:

extern Add(int x,int y);int main() {	int a = 10;	int b = 20;	int ret = Add(a, b);	printf("%d/n", ret);	return 0;}

add.c文件:

static int Add(int x, int y) {//不能被外部.cpp文件調(diào)用	int z = x + y;	return z;}

運行出錯:

總結(jié):

  1. 函數(shù)默認具有外部鏈接屬性,但是被static修飾后,
  2. 會使得函數(shù)失去外部連接屬性,變成內(nèi)部鏈接屬性
  3. static修飾的函數(shù)只能在自己所在的.c文件使用
  4. 不能在其他.c文件使用

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/122559.html

相關(guān)文章

  • 【?重走長征路のC語言中static關(guān)鍵字?】

    C語言中static關(guān)鍵字 用static聲明限定外部變量與函數(shù),可以將其后聲明的對象的作用域限定為被編譯源文件的剩余部分。要降對象指定為靜態(tài)存儲,可以在正常的聲明之前加上關(guān)鍵字static作為前綴。 一個聲明中最多只能有一個存儲類說明符。如果沒有指定存儲類說明符,則將按照下列規(guī)則進行: 在函數(shù)內(nèi)部聲明的對象被認為是auto類型; 在函數(shù)內(nèi)部聲明的函數(shù)被認為是extern類型; 在函數(shù)外部聲明的對...

    stormzhang 評論0 收藏0
  • 一、初識c語言

    摘要:局部變量的作用域是變量所在的局部范圍。局部變量的生命周期是進入作用域生命周期開始,出作用域生命周期結(jié)束。 目錄 1、什么是c語言? 2、數(shù)據(jù)類型 3、變量、常量 3.1 定義變量的方法 3.2 變量的分類 3.3 變量的作用域和生命周期 3.4定義常量的方法 4、關(guān)鍵字 1、什么是c語言?...

    MingjunYang 評論0 收藏0
  • C語言深刨_關(guān)鍵字2——static sizeof

    摘要:文章目錄多文件問題修飾全局變量和函數(shù)修飾局部變量局部變量就是臨時的,全局變量就是全局的多文件問題全局變量和函數(shù)在另一個文件定義的函數(shù)能在其他文件中使用嗎可以的在另一個文件定義的全局變量能在其他文件使用嗎可以的從上面來看 ...

    Worktile 評論0 收藏0
  • 【簡單地過一遍C語言基礎(chǔ)部分】所有知識點,點到為止!(僅一萬多字)

    摘要:局部變量的作用域是變量所在的局部范圍。生命周期變量的生命周期變量的創(chuàng)建和銷毀之間的時間段局部變量的生命周期進入作用域生命周期開始,出作用域生命周期結(jié)束。 前言: 就在前幾天,C語言入門到進階部分的專欄——《維生素C語言》終于完成了。全文共計十八個章節(jié)并附帶三張筆試練習(xí)篇,美中不足的是,第...

    chaos_G 評論0 收藏0

發(fā)表評論

0條評論

LoftySoul

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<