免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

C語言中static用法詳解-創新互聯

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

成都創新互聯是專業的銀海網站建設公司,銀海接單;提供網站設計、成都做網站,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行銀海網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

文章目錄
  • 前言
  • 一、static修飾變量
    • 1.修飾局部變量
    • 2.修飾全局變量
  • 二、static修飾函數
  • 總結


前言

static關鍵字不僅可以用來修飾變量,還可以用來修飾函數。在使用static關鍵字修飾變量時,我們稱此變量為靜態變量。靜態變量的存儲方式與全局變量一樣,都是靜態存儲方式。靜態變量屬于靜態存儲方式,屬于靜態存儲方式的變量卻不一定就是靜態變量。


提示:以下是本篇文章正文內容,下面案例可供參考

一、static修飾變量 1.修飾局部變量

先看段代碼:

#includevoid test()
{int m = 0;
	m = m + 1;
	printf("%d", m);
}

int main()
{int n = 0;
	while (n< 10)
	{test();
		n++;
	}
}

輸出結果:
在這里插入圖片描述
這個結果沒問題,下面咱們加個static對比一下:

#includevoid test()
{static int m = 0;
	m = m + 1;
	printf("%d", m);
}

int main()
{int n = 0;
	while (n< 10)
	{test();
		n++;
	}
	return 0;
}

輸出結果:
在這里插入圖片描述
static 修飾局部變量的時候,其實改變的是局部變量的存儲位置,靜態的局部變量是放在靜態區,放在靜態區的變量出了作用域是不會銷毀的,相當于生命周期延長了。
注:變量的作用域是不變的,只是生命周期延長了。

2.修飾全局變量

創建一個源文件:a.c

int g_val=2022;//全局變量

引用全局變量:全局變量的作用域是整個工程

#includeextern g_val;//extern 用來聲明外部命令
int main()
{printf("%d\n", g_val);
	return 0;
}

輸出結果:
在這里插入圖片描述
static可以修飾全局變量,加上static看一下有什么不同:

static int g_val = 2022;//全局變量

主文件不變:

#includeextern g_val;//extern 用來聲明外部命令
int main()
{printf("%d\n", g_val);
	return 0;
}

輸出結果:在這里插入圖片描述
此時會報錯:一個全局變量具有外部鏈接屬性的 (就是可以被其他源文件引用)但是被static 修飾后外部鏈接屬性就變成了內部鏈接屬性 只能在自己所在的源文件內部使用不能在其他文件內部使用.

所以再次調試的時候就會報錯

二、static修飾函數

源文件a.c中創建個函數名為add:
代碼如下:

static int add(int x, int y)
{int z = x + y;
	return z;
 }

主文件test.c如下:

extern add(int x, int y);
int main()
{int a = 2;
	int b = 3;
	int c = add(a, b);
	printf("%d\n", c);
	return 0;
}

輸出結果:
在這里插入圖片描述
其實一個函數本身具有外部鏈接屬性 被static修飾后外部鏈接屬性變成了內部鏈接屬性 ,只能在源文件a.c 內部使用了,其他源文件無法使用,使用上感覺作用域變小,我們可以發現 static 修飾全局變量和修飾函數用法一樣 。


總結
  • 在修飾變量的時, static修飾的靜態局部變量只執行一次,而且延長了局部變量的生命周期,直到程序運行結束以后才釋放。
  • static修飾全局變量的時,這個全局變量只能在本文件中訪問,不能在其它文件中訪問,即便是extern外部聲明也不可以。
  • static修飾一個函數,則這個函數的只能在本文件中調用,不能被其他文件調用。Static修飾的局部變量存放在全局數據區的靜態變量區。

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

當前文章:C語言中static用法詳解-創新互聯
網頁地址:http://m.newbst.com/article10/hppdo.html

成都網站建設公司_創新互聯,為您提供網站建設虛擬主機App設計手機網站建設品牌網站設計電子商務

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設