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

C++變量存儲(chǔ)的生命周期與作用域?qū)嵗a精講

 更新時(shí)間:2022年10月26日 16:39:31   作者:劃水貓  
這篇文章主要介紹了C++變量存儲(chǔ)的生命周期與作用域,從創(chuàng)建到消亡的完整過(guò)程,例如人從出生到死亡的整個(gè)過(guò)程就是一個(gè)生命周期。本文將通過(guò)示例為大家詳細(xì)講講,感興趣的可以學(xué)習(xí)一下

auto類型:非靜態(tài)的局部變量存儲(chǔ)類型都是auto,這些數(shù)據(jù)存儲(chǔ)在棧區(qū),不初始化變量的值時(shí)隨機(jī)的。C++中的auto還可以自動(dòng)推導(dǎo)類型。生命周期:塊內(nèi) 作用域:塊內(nèi)

程序:

#include <stdio.h>
void test(void);
int main() {
// auto存儲(chǔ)類型
    auto b = 13;  // C++新功能,auto自動(dòng)推導(dǎo)類型
	int a = 12;  // auto存儲(chǔ)類型的局部變量,存儲(chǔ)在函數(shù)棧幀中
	{
		int c = 11;
		printf("%d\n",a);
		printf("%d\n",c);
	}
	test();
	printf("%d\n",a);
    return 0;
}
void test(void) {
	int d = 13;  // auto存儲(chǔ)類型的局部變量,存儲(chǔ)在函數(shù)棧幀中
	printf("%d\n",d);
}

static類型:static靜態(tài)存儲(chǔ)類型的變量,可以作為局部變量和全局變量。作為全局變量的時(shí)候不能被外部文件所訪問(wèn),靜態(tài)變量只初始化一次,存儲(chǔ)在靜態(tài)區(qū)中。也可以用來(lái)修飾函數(shù),這樣外部文件無(wú)法調(diào)用該函數(shù)。生命周期:整個(gè)程序 作用域:全局靜態(tài)文件內(nèi)、局部塊內(nèi)

程序:局部靜態(tài)變量

#include <stdio.h>
#include <windows.h>
void test(void);
int main() {
	test();
	test();
	// printf("%d", a);  static作為局部變量,外面是訪問(wèn)不了的
	system("pause");
	return 0;
}
// 局部靜態(tài)變量,存儲(chǔ)在靜態(tài)區(qū)中
void test(void) {
	static int a = 11;  // 只會(huì)被初始化一次
	a++;
	printf("%d\n", a);
}

程序:全局靜態(tài)變量

#include <stdio.h>
#include <windows.h>
void test(void);
static int b = 33;  // 全局靜態(tài)變量,外部文件無(wú)法訪問(wèn),存儲(chǔ)在靜態(tài)區(qū)中
int main() {
	test();
	printf("%d\n", b);
	system("pause");
	return 0;
}
void test(void) {
	printf("%d\n", b);
}

register類型:寄存器變量,存儲(chǔ)在cpu中不在內(nèi)存中,所以沒(méi)有地址。可以加快計(jì)算機(jī)訪問(wèn)。但是在C++中如果一定要去訪問(wèn)寄存器變量那么寄存器變量會(huì)被降級(jí)成普通變量。寄存器變量不能作為全局變量

程序:

#include <stdio.h>
// register int b = 12;  寄存器變量沒(méi)法作為全局變量
int main() {
// register變量沒(méi)有地址
	register int a = 12;
	printf("%d",a);
	printf("%p", &a);  // 強(qiáng)制訪問(wèn)register變量,那么這個(gè)變量會(huì)變?yōu)閍uto類型
    for(register int i=0; i<1000; i++){  // 加快運(yùn)行速度寫法,但是沒(méi)必要
    }
	return 0;
}

extern類型:可以訪問(wèn)外部文件中的全局變量,只要在本文件中的變量前加上extern表示他是個(gè)外部變量。

程序:

extern.h

#ifndef _EXTER_H_
#define _EXTER_H_
#include <stdio.h>
void test1();
#endif

extern_test.cpp

#include "exter.h"
int c = 44;
int d = 55;  // 這里不要寫extern int d;這是錯(cuò)誤的  ,也不要寫成extern int d=55這個(gè)是對(duì)的但是不推薦
void test1() {
	printf("extern_test_c_addr:%p\n", &c);
	printf("extern_test_d_addr:%p\n", &d);
}

man.cpp

#include <stdio.h>
#include <windows.h>
#include "exter.h"
void test(void);
extern int d;  //  extern拿到其他文件變量并作為本文件的全局變量
int main() {
// extern拿到其他文件變量并作為本文件的局部變量
	extern int c;
	printf("c=%d\n",c);
	c = 12;
	printf("c=%d\n",c);
	printf("d=%d\n",c);
	test();
	test1();
	printf("extern_test_c_addr:%p\n", &c);
	printf("main_d_addr:%p\n", &d);
	system("pause");
	return 0;
}
void test(void) {
	printf("test d=%d\n",d);
	//printf("c=%d\n", c);  局部變量訪問(wèn)不了
}

到此這篇關(guān)于C++變量存儲(chǔ)的生命周期與作用域?qū)嵗a精講的文章就介紹到這了,更多相關(guān)C++生命周期與作用域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • VC++中內(nèi)存對(duì)齊實(shí)例教程

    VC++中內(nèi)存對(duì)齊實(shí)例教程

    這篇文章主要介紹了VC++中內(nèi)存對(duì)齊的實(shí)現(xiàn)方法,具有很高的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-08-08
  • C++?線段樹原理與實(shí)現(xiàn)示例詳解

    C++?線段樹原理與實(shí)現(xiàn)示例詳解

    這篇文章主要為大家介紹了C++?線段樹原理與實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • C++鏈表實(shí)現(xiàn)通訊錄管理系統(tǒng)

    C++鏈表實(shí)現(xiàn)通訊錄管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++鏈表實(shí)現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 深入探討C++ OpenCV如何實(shí)現(xiàn)圖像矯正

    深入探討C++ OpenCV如何實(shí)現(xiàn)圖像矯正

    這篇文章主要為大家詳細(xì)介紹了C++ OpenCV如何實(shí)現(xiàn)簡(jiǎn)單的圖像矯正功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • C語(yǔ)言報(bào)錯(cuò):Format String Vulnerability的多種解決方案

    C語(yǔ)言報(bào)錯(cuò):Format String Vulnerability的多種解決方案

    Format String Vulnerability(格式化字符串漏洞)是C語(yǔ)言中常見且嚴(yán)重的安全漏洞之一,它通常在程序使用不受信任的輸入作為格式化字符串時(shí)發(fā)生,本文將詳細(xì)介紹Format String Vulnerability的產(chǎn)生原因,提供多種解決方案,需要的朋友可以參考下
    2024-06-06
  • C++中與輸入相關(guān)的istream類成員函數(shù)簡(jiǎn)介

    C++中與輸入相關(guān)的istream類成員函數(shù)簡(jiǎn)介

    這篇文章主要介紹了C++中與輸入相關(guān)的istream類成員函數(shù)簡(jiǎn)介,包括eof函數(shù)和peek函數(shù)以及putback函數(shù)還有ignore函數(shù),需要的朋友可以參考下
    2015-09-09
  • 詳解C++中賦值和輸入輸出語(yǔ)句的用法

    詳解C++中賦值和輸入輸出語(yǔ)句的用法

    這篇文章主要介紹了詳解C++中賦值和輸入輸出語(yǔ)句的用法,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • C語(yǔ)言之預(yù)處理命令的深入講解

    C語(yǔ)言之預(yù)處理命令的深入講解

    這篇文章主要給大家介紹了關(guān)于C語(yǔ)言之預(yù)處理命令的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • C語(yǔ)言超詳細(xì)講解猜數(shù)字游戲的實(shí)現(xiàn)

    C語(yǔ)言超詳細(xì)講解猜數(shù)字游戲的實(shí)現(xiàn)

    現(xiàn)在很多游戲都有抽獎(jiǎng)抽卡的功能,其實(shí)這個(gè)就類似于猜數(shù)字,生成一個(gè)隨機(jī)數(shù),然后你去猜,猜對(duì)了就得獎(jiǎng)。猜到一定次數(shù)就會(huì)保底。要實(shí)現(xiàn)猜數(shù)字的小游戲,首先是要讓程序生成隨機(jī)數(shù),這就要用到rand、srand和time這三個(gè)函數(shù),其次要了解時(shí)間戳
    2022-07-07
  • C語(yǔ)言結(jié)構(gòu)體鏈表和指針實(shí)現(xiàn)學(xué)生管理系統(tǒng)

    C語(yǔ)言結(jié)構(gòu)體鏈表和指針實(shí)現(xiàn)學(xué)生管理系統(tǒng)

    這篇文章主要介紹了C語(yǔ)言結(jié)構(gòu)體鏈表和指針實(shí)現(xiàn)學(xué)生管理系統(tǒng),包括學(xué)生檔案管理子系統(tǒng)和學(xué)生成績(jī)管理子系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評(píng)論

霸州市| 邹城市| 肥乡县| 专栏| 贺州市| 永修县| 哈尔滨市| 普陀区| 云龙县| 大安市| 比如县| 长阳| 建湖县| 崇阳县| 合水县| 蒲江县| 延边| 吴旗县| 马公市| 仙居县| 诸城市| 岱山县| 延津县| 揭西县| 敖汉旗| 阳春市| 于田县| 綦江县| 金堂县| 宝应县| 广平县| 太康县| 肇源县| 潮安县| 关岭| 佛冈县| 武汉市| 酒泉市| 顺昌县| 张家界市| 靖宇县|