最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言入門篇--關(guān)鍵字static詳解

 更新時(shí)間:2021年08月26日 15:44:07   作者:yycure  
本篇文章是C語(yǔ)言系列基礎(chǔ)篇,C語(yǔ)言中,static是用來修飾變量和函數(shù):1.修飾局部變量–>靜態(tài)局部變量2.修飾全局變量–>靜態(tài)全局變量3.修飾函數(shù)–>靜態(tài)函數(shù)

1.修飾局部變量

1.1作用

ststic修飾局部變量,會(huì)改變局部變量的生命周期,不改變作用域:

生命周期:和全局變量一樣具有全局性,但在內(nèi)存中的位置沒有改變,還在在靜態(tài)存儲(chǔ)區(qū)中。

作用域:作用域不改變。

注意:靜態(tài)局部變量的初始化在整個(gè)變量定義時(shí)只會(huì)進(jìn)行一次。

1.2舉例

(1)不加static

#include <stdio.h>
Show()
{
	int j = 0;
	j++;
	printf("j=%d\n", j);
}
int main()
{
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		Show();
	}
	return 0;
}

在這里插入圖片描述

(2)加static

#include <stdio.h>
Show()
{
	static int j = 0;//生命周期變?yōu)槿值模?
	j++;
	printf("j=%d\n", j);
}
int main()
{
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		Show();
	}
	return 0;
}

在這里插入圖片描述

(3)靜態(tài)局部變量的初始化只會(huì)進(jìn)行一次

#include <stdio.h>

Show()
{
	static int j = 0;
	j = 3;
	j++;
	printf("j=%d\n", j);
}

int main()
{
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		Show();
	}
	return 0;
}

在這里插入圖片描述

2.修飾全局變量

2.1作用

static修飾全局變量,表示全局變量只在本文件內(nèi)有效,取消了全局變量的跨文件屬性。

2.2舉例

由于static對(duì)全局變量的作用在一個(gè)文件里體現(xiàn)不出來,固我們創(chuàng)建兩個(gè)文件,
在test1.c中通過extern引用外部變量g_vale,在test2.c中創(chuàng)建全局變量g_vale 。

(1)不加static

test1.c:

#include <stdio.h>
extern int g_vale;
int main()
{
	printf("g_vale=%d\n", g_vale);
	return 0;
}

test2.c:

#include <stdio.h>
int g_vale = 100;//定義全局變量

編譯運(yùn)行:

在這里插入圖片描述

(2)加static

test1.c

#include <stdio.h>
extern int g_vale;
int main()
{
	printf("g_vale=%d\n", g_vale);

	return 0;
}

test2.c

#include <stdio.h>
static int g_vale = 100; //定義靜態(tài)全局變量

編譯運(yùn)行:運(yùn)行失敗,無(wú)法解析外部符號(hào)g_vale

在這里插入圖片描述

3.修飾函數(shù)

3.1作用

static修飾函數(shù),和其修飾全局變量類似,表示函數(shù)只可在本文件內(nèi)調(diào)用使用,取消了函數(shù)的跨文件屬性。

3.2舉例

由于static對(duì)函數(shù)的作用在一個(gè)文件里體現(xiàn)不出來,固我們創(chuàng)建兩個(gè)文件,
在test1.c中通過extern引用外部函數(shù)Show( ),在test2.c中創(chuàng)建Show( )函數(shù)

(1)不加static

test1.c:

#include <stdio.h>
extern  Show();//也可以不寫聲明,文件在鏈接時(shí)也可以找到,但會(huì)出現(xiàn)Warning:Show()未定義
int main()
{
	Show();
	system("pause");
	return 0;
}

test2.c:

#include <stdio.h>
void Show()
{
	printf("This is Show()\n");
}

編譯運(yùn)行:

在這里插入圖片描述

(2)加static

test1.c:

#include <stdio.h>
extern  Show();
int main()
{
	Show();
	system("pause");
	return 0;
}

test2.c:

#include <stdio.h>
static void Show()
{
	printf("This is Show()\n");
}

編譯運(yùn)行:運(yùn)行失敗,無(wú)法解析外部符號(hào)Show

在這里插入圖片描述

以上就是C語(yǔ)言入門篇--關(guān)鍵字static詳解的詳細(xì)內(nèi)容,更多關(guān)于C語(yǔ)言關(guān)鍵字static詳解的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • VC小技巧匯總之5則實(shí)用小技巧

    VC小技巧匯總之5則實(shí)用小技巧

    這篇文章主要介紹了VC小技巧匯總之5則實(shí)用小技巧,需要的朋友可以參考下
    2014-07-07
  • C++中的友元函數(shù)與友元類詳情

    C++中的友元函數(shù)與友元類詳情

    這篇文章主要介紹了C++中的友元函數(shù)與友元類詳情,對(duì)類的封裝是C++三大特性中的一個(gè)重要特性,封裝好的數(shù)據(jù)在類的外部是訪問不到的但是一旦出了問題,想要操作被封裝的數(shù)據(jù)怎么辦呢?由此友元函數(shù)友元類誕生了,下文我們來詳細(xì)來接一下具體的有緣類吧
    2022-02-02
  • 使用C++17實(shí)現(xiàn)JSON庫(kù)設(shè)計(jì)思路示例全解

    使用C++17實(shí)現(xiàn)JSON庫(kù)設(shè)計(jì)思路示例全解

    這篇文章主要為大家介紹了使用C++17實(shí)現(xiàn)JSON庫(kù)設(shè)計(jì)思路示例全解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Cocos2d-x Schedule定時(shí)器的使用實(shí)例

    Cocos2d-x Schedule定時(shí)器的使用實(shí)例

    這篇文章主要介紹了Cocos2d-x Schedule定時(shí)器的使用實(shí)例,本文的講解內(nèi)容包含在代碼注釋中,需要的朋友可以參考下
    2014-09-09
  • 深入學(xué)習(xí)C++智能指針之shared_ptr與右值引用的方法

    深入學(xué)習(xí)C++智能指針之shared_ptr與右值引用的方法

    智能指針的核心實(shí)現(xiàn)技術(shù)是引用計(jì)數(shù),每使用它一次,內(nèi)部引用計(jì)數(shù)加1,每析構(gòu)一次內(nèi)部的引用計(jì)數(shù)減1,減為0時(shí),刪除所指向的堆內(nèi)存,今天通過本文給大家分享C++智能指針之shared_ptr與右值引用的方法,需要的朋友跟隨小編一起看看吧
    2021-07-07
  • STL容器之list源碼詳細(xì)解讀

    STL容器之list源碼詳細(xì)解讀

    這篇文章主要介紹了STL容器之list源碼詳細(xì)解讀,相對(duì)于vector的連續(xù)線性空間,list就顯得更加復(fù)雜,它每插入或者刪除一個(gè)元素,就配置或釋放一個(gè)元素空間,需要的朋友可以參考下
    2024-01-01
  • C語(yǔ)言 小游戲打磚塊實(shí)現(xiàn)流程詳解

    C語(yǔ)言 小游戲打磚塊實(shí)現(xiàn)流程詳解

    打磚塊游戲是一種動(dòng)作電子游戲的名稱。玩家操作一根螢?zāi)簧纤降摹鞍糇印保屢活w不斷彈來彈去的“球”在撞擊作為過關(guān)目標(biāo)消去的“磚塊”的途中不會(huì)落到螢?zāi)坏紫?。球碰到磚塊、棒子與底下以外的三邊會(huì)反彈,落到底下會(huì)失去一顆球,把磚塊全部消去就可以破關(guān)
    2021-11-11
  • OpenCV使用BSM統(tǒng)計(jì)視頻中移動(dòng)的對(duì)象

    OpenCV使用BSM統(tǒng)計(jì)視頻中移動(dòng)的對(duì)象

    這篇文章主要為大家詳細(xì)介紹了OpenCV如何使用BackgroundSubstractor(BSM)實(shí)現(xiàn)視頻中移動(dòng)對(duì)象統(tǒng)計(jì)功能,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2023-02-02
  • C++簡(jiǎn)單實(shí)現(xiàn)Dijkstra算法

    C++簡(jiǎn)單實(shí)現(xiàn)Dijkstra算法

    這篇文章主要為大家詳細(xì)介紹了C++簡(jiǎn)單實(shí)現(xiàn)Dijkstra算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 詳解C語(yǔ)言中的函數(shù)、數(shù)組與指針

    詳解C語(yǔ)言中的函數(shù)、數(shù)組與指針

    這篇文章主要介紹了C語(yǔ)言中的函數(shù)、數(shù)組與指針,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02

最新評(píng)論

教育| 灯塔市| 德兴市| 新宁县| 建始县| 南陵县| 旌德县| 都江堰市| 隆安县| 隆安县| 潼关县| 和龙市| 镇安县| 北川| 英德市| 云阳县| 伽师县| 思南县| 佳木斯市| 墨玉县| 临沂市| 镇平县| 南康市| 桦川县| 洛扎县| 建德市| 姜堰市| 涞水县| 汾阳市| 长武县| 连平县| 汕头市| 南汇区| 阜平县| 资溪县| 尼木县| 灌云县| 台南市| 思南县| 松原市| 夏津县|