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

C語言中static和auto用法詳解

 更新時(shí)間:2022年01月17日 10:54:58   作者:PEI.大.大  
大家好,本篇文章主要講的是C語言中static和auto用法詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下

static的第一種用法:定義為靜態(tài)變量

何為靜態(tài)變量?存儲(chǔ)在靜態(tài)數(shù)據(jù)區(qū)的變量會(huì)在程序剛開始運(yùn)行時(shí)就完成初始化,也是唯一的一次初始化。就是只進(jìn)行一次初始化。不理解?看代碼!

代碼見真知:

#include<stdio.h>
int main()
{
	void fun();   //定義一個(gè)空函數(shù)
 
	for(int i=0;i<3;i++)
	{
		fun();    //調(diào)用函數(shù)
	}
	return 0;
} 
void fun()  
{
	int i=0; 
	static int static_i=0;
 
	printf("沒有加static的結(jié)果為:%d\n",i);
	printf("加了static的結(jié)果為:%d\n",static_i); 
 
	i++;    //沒有加static,i最終都會(huì)被初始化為0
 
	static_i++;  //加了static,只初始化一次,后面繼續(xù)累加
 
	printf("\n");
}

運(yùn)行結(jié)果:

由結(jié)果可以看出有static的在持續(xù)累加,除了第一次沒有再初始化。

static的第二種用法:有理說不清,直接代碼見真知

#include<stdio.h>
int main()
{
	int i,sum;
	sum=2;
 
	for(i=0;i<3;i++)
	{
        //外置模塊
		printf("外置模塊為:%d\n",sum);
		sum++;
 
        //內(nèi)置模塊
		{
			static int sum=1;  //局部重新定義sum的初始值
			printf("內(nèi)置模塊為:%d\n",sum);
			sum++;
		}
 
 
		printf("\n");
	}
	return 0;
} 

運(yùn)行結(jié)果:

 由結(jié)果可見:外置模塊和內(nèi)置模塊是互不影響的,這就是static的第二種用法,保持局部一部分穩(wěn)定,不會(huì)隨外部的變化而變化。

auto的用法:直接代碼見真知

#include<stdio.h>
int main()
{
	int i,sum;
	sum=2;
	for(i=0;i<3;i++)
	{
        //外部
		printf("外置模塊為:%d\n",sum);
		sum++;
 
        //局部
		{
			auto int sum=1; 
			printf("內(nèi)置模塊為:%d\n",sum);
			sum++;
		}
 
 
		printf("\n");
	}
	return 0;
} 

代碼看不懂?結(jié)合運(yùn)行結(jié)果就懂了:

由結(jié)果顯而易見:外置模塊持續(xù)累加,內(nèi)置模塊全部為1,與static的第二種用法相比較,auto局部不斷進(jìn)行初始化 ,而static是局部除第一次外不再初始化。

static和auto的相同之處是都能只在局部進(jìn)行改變,與外置模塊互不干涉。

總結(jié)

到此這篇關(guān)于C語言中static和auto用法詳解的文章就介紹到這了,更多相關(guān)C語言static和auto內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用C++實(shí)現(xiàn)位圖處理

    使用C++實(shí)現(xiàn)位圖處理

    本文介紹了如何使用C++語言處理位圖圖像,包括讀取、修改、保存等操作。通過具體的代碼示例,讀者可以學(xué)習(xí)到如何利用C++中的位運(yùn)算、數(shù)組和文件操作等知識(shí)點(diǎn)完成位圖處理任務(wù)。同時(shí),本文也提供了一些常用的圖像處理算法供讀者參考,幫助讀者更好地理解位圖處理過程
    2023-04-04
  • 詳解socket阻塞與非阻塞,同步與異步、I/O模型

    詳解socket阻塞與非阻塞,同步與異步、I/O模型

    這篇文章主要介紹了詳解socket阻塞與非阻塞,同步與異步、I/O模型,socket網(wǎng)絡(luò)編程中的同步,異步,阻塞式,非阻塞式,有何聯(lián)系與區(qū)別,本文將詳細(xì)講訴。
    2016-12-12
  • C語言順序表實(shí)現(xiàn)代碼排錯(cuò)

    C語言順序表實(shí)現(xiàn)代碼排錯(cuò)

    這篇文章主要介紹了C語言順序表實(shí)現(xiàn)方法,大家參考使用吧
    2013-12-12
  • 基于實(shí)現(xiàn)Qt秒表設(shè)計(jì)

    基于實(shí)現(xiàn)Qt秒表設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了基于實(shí)現(xiàn)Qt秒表設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C語言之詳解靜態(tài)變量static

    C語言之詳解靜態(tài)變量static

    在C語言中static是用來修飾變量和函數(shù)的,這篇文章詳細(xì)介紹了static主要作用,文章中有詳細(xì)的代碼實(shí)例,需要的朋友可以參考閱讀
    2023-04-04
  • C語言陷阱與缺陷之?dāng)?shù)組越界訪問詳解

    C語言陷阱與缺陷之?dāng)?shù)組越界訪問詳解

    這篇文章主要為大家詳細(xì)介紹了C語言的數(shù)組越界訪問,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C基礎(chǔ) 尋找隨機(jī)函數(shù)的G點(diǎn)詳解

    C基礎(chǔ) 尋找隨機(jī)函數(shù)的G點(diǎn)詳解

    下面小編就為大家?guī)硪黄狢基礎(chǔ) 尋找隨機(jī)函數(shù)的G點(diǎn)詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • C語言 詳細(xì)講解接續(xù)符和轉(zhuǎn)義符的使用

    C語言 詳細(xì)講解接續(xù)符和轉(zhuǎn)義符的使用

    接續(xù)符是用來告訴編譯器行為的符號(hào),那編譯器遇到接續(xù)符是什么行為呢,就是去掉接續(xù)符,然后把下一行連接到現(xiàn)在這行上面,轉(zhuǎn)義符是主要用于表示無回顯字符,也用于表示常規(guī)字符,轉(zhuǎn)義符必須放在單引號(hào)或者雙引號(hào)里面
    2022-04-04
  • 使用C++的inipp庫處理配置文件.ini的示例詳解

    使用C++的inipp庫處理配置文件.ini的示例詳解

    一個(gè)ini文件由多個(gè)節(jié)section組成,每個(gè)節(jié)由多個(gè)鍵值對組成,本文給大家介紹了使用第三方庫inipp來操作ini文件,文中通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 深入理解c++模板中的class與typename

    深入理解c++模板中的class與typename

    在c++Template中很多地方都用到了typename與class這兩個(gè)關(guān)鍵字,而且好像可以替換,是不是這兩個(gè)關(guān)鍵字完全一樣呢?下面這篇文章主要給大家介紹了關(guān)于c++模板中class與typename的相關(guān)資料,需要的朋友可以參考下。
    2017-07-07

最新評論