欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1.修飾局部變量

1.1作用

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

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

作用域:作用域不改變。

注意:靜態(tài)局部變量的初始化在整個變量定義時只會進(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)局部變量的初始化只會進(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對全局變量的作用在一個文件里體現(xiàn)不出來,固我們創(chuàng)建兩個文件,
在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)行失敗,無法解析外部符號g_vale

在這里插入圖片描述

3.修飾函數(shù)

3.1作用

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

3.2舉例

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

(1)不加static

test1.c:

#include <stdio.h>
extern  Show();//也可以不寫聲明,文件在鏈接時也可以找到,但會出現(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)行失敗,無法解析外部符號Show

在這里插入圖片描述

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

相關(guān)文章

  • c/c++小游戲源代碼

    c/c++小游戲源代碼

    這篇文章主要介紹了c/c++小游戲源代碼,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • C++深入講解哈夫曼樹

    C++深入講解哈夫曼樹

    給定N個權(quán)值作為N個葉子結(jié)點(diǎn),構(gòu)造一棵二叉樹,若該樹的帶權(quán)路徑長度達(dá)到最小,稱這樣的二叉樹為最優(yōu)二叉樹,也稱為哈夫曼樹(Huffman Tree)。哈夫曼樹是帶權(quán)路徑長度最短的樹,權(quán)值較大的結(jié)點(diǎn)離根較近
    2022-05-05
  • Qt創(chuàng)建項目實(shí)戰(zhàn)之手把手創(chuàng)建第一個Qt項目

    Qt創(chuàng)建項目實(shí)戰(zhàn)之手把手創(chuàng)建第一個Qt項目

    我們在進(jìn)行軟件開發(fā)學(xué)習(xí)時,有時候需要qt軟件進(jìn)行代碼的敲寫,下面這篇文章主要給大家介紹了關(guān)于Qt創(chuàng)建項目實(shí)戰(zhàn)之手把手創(chuàng)建第一個Qt項目的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 詳解C語言函數(shù)返回值解析

    詳解C語言函數(shù)返回值解析

    這篇文章主要介紹了詳解C語言函數(shù)返回值解析的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Qt QML使用虛擬鍵盤的示例代碼

    Qt QML使用虛擬鍵盤的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Qt QML使用虛擬鍵盤的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • C++資源管理操作方法詳解

    C++資源管理操作方法詳解

    系統(tǒng)中的資源,諸如動態(tài)申請的內(nèi)存,文件描述符,數(shù)據(jù)庫連接,網(wǎng)絡(luò)socket等,在不用的時候,應(yīng)該及時歸還給系統(tǒng),否則就會造成內(nèi)存泄露
    2022-09-09
  • C語言深入刨析數(shù)據(jù)結(jié)構(gòu)之棧與鏈棧的設(shè)計與應(yīng)用

    C語言深入刨析數(shù)據(jù)結(jié)構(gòu)之棧與鏈棧的設(shè)計與應(yīng)用

    棧是限定僅在表尾進(jìn)行插入或刪除操作的線性表,表尾稱為棧頂(top),表頭稱為棧底(bottom)。棧的最主要特點(diǎn)就是“先進(jìn)后出”(FILO),或“后進(jìn)先出”(LIFO)。用鏈?zhǔn)酱鎯Y(jié)構(gòu)表示的棧稱為“鏈棧”,鏈棧對應(yīng)于鏈表
    2022-05-05
  • visual?studio?將編譯后的dll等文件自動復(fù)制到指定目錄的方法

    visual?studio?將編譯后的dll等文件自動復(fù)制到指定目錄的方法

    這篇文章主要介紹了visual?studio?將編譯后的dll等文件自動復(fù)制到指定目錄,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • C++實(shí)現(xiàn)類似延時停頓的打字效果

    C++實(shí)現(xiàn)類似延時停頓的打字效果

    這篇文章主要介紹的是使用C++實(shí)現(xiàn)類似延時停頓的打字效果的代碼,非常的簡單,推薦給大家,有需要的小伙伴可以參考下。
    2015-03-03
  • 關(guān)于c語言指針的兩處小tip分享

    關(guān)于c語言指針的兩處小tip分享

    本篇文章是對c語言中指針的兩處小tip進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評論