国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

C語言static關鍵字

LoftySoul / 2306人閱讀

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

static關鍵字

  1. static修飾局部變量

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

  1. static修飾全局變量
  2. static修飾函數

修飾局部變量

不使用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;}


總結:

  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;

運行出錯:

總結:

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

修飾函數

未使用static關鍵字:
//聲明外部符號
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表示函數調用返回int變量	int z = x + y;	return z;}

使用static關鍵字:
//聲明外部符號
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文件調用	int z = x + y;	return z;}

運行出錯:

總結:

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/122559.html

相關文章

  • 【?重走長征路のC語言中static鍵字?】

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

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

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

    MingjunYang 評論0 收藏0
  • C語言深刨_鍵字2——static sizeof

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

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

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

    chaos_G 評論0 收藏0

發表評論

0條評論

LoftySoul

|高級講師

TA的文章

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