国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

教你快速了解C語言中的作用域和常量

這篇具有很好參考價(jià)值的文章主要介紹了教你快速了解C語言中的作用域和常量。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

教你快速了解C語言中的作用域和常量

前言

??哈嘍,各位鐵汁們好??!?今天來給大家?guī)淼氖浅踝RC語言里面的作用域常量。
??這幾章主要帶大家簡單認(rèn)識-一下C語言,俗話說沒吃過豬肉,也見過豬跑。帶大家了解下C語言??梢宰x懂C語言的簡單程序,后期會給大家詳細(xì)介紹C語言。

一、變量作用域和生命周期

作用域

  • 作用域(scope)是程序設(shè)計(jì)概念,通常來說,一段程序代碼中所用到的名字并不總是有效/可用的而限定這個(gè)名字的可用性的代碼范圍就是這個(gè)名字的作用域。

那么局部變量和全局變量的作用域的范圍是多少呢?

局部變量的作用域

  • 局部變量的作用域是變量所在的局部范圍。
    因?yàn)榫植孔兞恐辉谒鶎?yīng)的代碼段生效,出了他所在的大括號就銷毀。
    下面我們來看看這段代碼
int main()
{
	{
		int a = 6;
	}
	return 0;
}

像這個(gè)代碼就會報(bào)錯(cuò),因?yàn)?變量 a a a 只在他所在的大括號生效出去·就銷毀了。

int main()
{
	{
		int a = 100;
	}
	printf("%d\n", a);

	return 0;
}

像這個(gè)代碼就不會報(bào)錯(cuò),因?yàn)?變量 a a a 只在他所在的大括號包含的范圍生效,而里面的大括號也在這個(gè)范圍所以可以使用。

全局變量的作用域

前面介紹了全局變量的的生效范圍是全局, 在不同.c文件也可以使用。
有因?yàn)槲覀兂绦蚴?code>main()函數(shù)開始
出main函數(shù)結(jié)束
所以:
全局變量的作用域是整個(gè)工程。

生命周期

變量的生命周期指的是變量的創(chuàng)建到變量的銷毀之間的一個(gè)時(shí)間段

局部變量的生命周期

局部變量是進(jìn)局部范圍開始創(chuàng)建,出了他的局部范圍就銷毀。
所以:

  • 局部變量的生命周期是:進(jìn)入作用域生命周期開始,出作用域生命周期結(jié)束。

全局變量的生命周期

由于我們?nèi)肿兞康淖饔糜蚴钦麄€(gè)工程
而程序是從進(jìn)入main( )函數(shù)開始,出main( )函數(shù)結(jié)束。
那么是不是可以說:

  • 全局變量的生命周期是:整個(gè)程序的生命周期。

二、常量

C語言中的常量分為以下以下幾種:

  • 字面常量
  • const 修飾的常變量
  • #define 定義的標(biāo)識符常量
  • 枚舉常量

1.1?字面常量

像我們直接寫出來的
數(shù)字3 字符a 字符串abcd這些都是字面常量
下面我倆給大家演示一下

int main()
{
	3;
	3.15;
	'a';
	"abcd";
	return 0;
}
  • 給大家解釋一下單引號 ' '引起來的是字符。
  • 雙引號“ ”引起來的是字符串。

1.2 ? const 飾的常變量

int main()
{
	//常屬性
	//這里的a是具有常屬性的,不能改變,但是本質(zhì)上還是變量
	const int a = 3;

	printf("%d\n", a);
	a = 10;
	printf("%d\n", a);
	return 0;
}

這里我們用const關(guān)鍵字修飾了變量a,使這個(gè)變量具有了常屬性。

  • 常屬性就是不能被更改的屬性,從語法層面直接限制了這個(gè)變量

所以當(dāng)我們改變這個(gè)變量的時(shí)候程序就會給我們報(bào)錯(cuò),我們來看看!
教你快速了解C語言中的作用域和常量

  • 他說左值指定的是const的對象所以不能修改,給我們報(bào)錯(cuò)了

那么我問大家一個(gè)問題?

  • 我們一直在講變量常量
  • 那么由變量用const修飾的常變量可以當(dāng)成常量用嗎?
  • 可以不可以實(shí)踐便知:來看下面這段代碼
int main()
{	//數(shù)組
	const int n = 10;
	int arr[n];
	return 0;
}

他給我們的報(bào)錯(cuò)是這樣的,我來給大家解釋一下:
教你快速了解C語言中的作用域和常量
arr數(shù)組【】里面必須輸入常量表達(dá)式
誒,是不是很奇怪。

  • 我們明明已經(jīng)將變量 n,用const修飾成了常變量為什么他還
  • 提示我們輸入常量呢?
  • 這說明關(guān)鍵字const雖然把變量n修飾成了常變量。
  • 但是變量a本質(zhì)上還是變量所以不能被當(dāng)來常量使用。

1.1 ?#define 定義的標(biāo)識符常量

什么是 #define 定義的標(biāo)識符常量呢?

#define MAX 10000
//符號名是MAX  本質(zhì)上代表的數(shù)字是10000
int main()
{
	int a = MAX;
	int arr[MAX] = {0};
	printf("%c", a);
	return 0;
}

#define MAX 10000
這里#define定義了一個(gè)MAX常量

  • 符號名是MAX 本質(zhì)上代表的數(shù)字是10000
  • 這里代表的意思是10000本來是沒有什么意義的,
  • 但是我們需要一個(gè)最大值MAX,我們把10000定義成我們的最大值
  • 以后我們的最大值MAX代表的就是10000

所以我們賦給變量 a a a就是 10000 10000 10000這個(gè)數(shù)字
創(chuàng)建的數(shù)組 a r r [ M A X ] arr[MAX] arr[MAX],是有 10000 10000 10000個(gè)元素

ps:
雖然暫時(shí)還沒有給各位鐵汁講數(shù)組但這里先讓大家見識一下
后面會給各位鐵汁詳細(xì)講解數(shù)組,看完秒懂!

1.1 ?枚舉常量

這里只是給大家簡單講解一下,后面會詳細(xì)講解

枚舉常量

  • 枚舉 一一列舉

生活中有些值是可以一一列舉

  • 性別:男、女、保密
  • 三原色:red green blue
  • 血型: o o o x x x

那么枚舉怎么定義呢?

enum SEX//性別
{
	//列出了枚舉類型enum SEX的可能取值
	//枚舉常量
	MALE,//男
	FEMALE,//女
	SECRET//保密
};

這里我們就定義了一個(gè)枚舉常量SEXenum代表的是枚舉類型

  • MALE代表的是枚舉——列舉的類型

枚舉類型的值是多少呢?

我們來看一下

int main()
{
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);
	printf("%d\n", SECRET);
	return 0;
}
  • 我們可以看到枚舉常量的默認(rèn)值是從0開始
  • 依次遞增的。
    教你快速了解C語言中的作用域和常量

枚舉類型的值怎么修改?

相信各位鐵汁們,都想說修改那不是很簡單直接改值不就完了。

int main()
{
	enum SEX s = FEMALE;
	printf("%d\n", MALE);
	return 0;
}

但是大家可別忘,枚舉類型他可是個(gè)常量
怎么能這樣修改呢!
所以他肯定會給我們報(bào)錯(cuò)。

  • 枚舉類型的常量想修改,只能修改初始值
enum SEX
{
	MALE=4,
	FEMALE,
	SECRET
};

這里我們就把SEX這個(gè)枚舉類型,MALE的初始值修改成了4
所以程序運(yùn)行的結(jié)果是
教你快速了解C語言中的作用域和常量
我們也可以給每一個(gè)枚舉常量單獨(dú)賦值

enum SEX
{
	//列出了枚舉類型enum SEX的可能取值
	//枚舉常量
	MALE=4,
	FEMALE=8,
	SECRET=11
};

教你快速了解C語言中的作用域和常量

總結(jié)

好了今天主要是帶大家認(rèn)識變量和常量
總結(jié)一下今天學(xué)了:
??變量作用域
??變量的生命周期
??字面常量
??const 修飾的常變量
??#define 定義的標(biāo)識符常量
??枚舉常量
不知道大家掌握了沒有,希望對各位鐵汁有用呢!
看到這里了還不給博主扣個(gè)點(diǎn)贊收藏
?? ?? ?? ?? ???? ?? ?? ?? ?? ??
拜托拜托這個(gè)真的很重要!
你們的點(diǎn)贊就是博主更新最大的動力!
有問題可以評論或者私信呢秒回哦。
教你快速了解C語言中的作用域和常量文章來源地址http://www.zghlxwxcb.cn/news/detail-489774.html

到了這里,關(guān)于教你快速了解C語言中的作用域和常量的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【C語言】-- 一篇帶你了解C語言內(nèi)存五大區(qū)——棧區(qū),堆區(qū),全局區(qū),常量區(qū),代碼區(qū)

    【C語言】-- 一篇帶你了解C語言內(nèi)存五大區(qū)——棧區(qū),堆區(qū),全局區(qū),常量區(qū),代碼區(qū)

    目錄 1 C語言的內(nèi)存分區(qū) 1.1 內(nèi)存五大分區(qū) 1.2 內(nèi)存分區(qū)簡介 1.2.1 棧區(qū)(stack) 1.2.2 堆區(qū)(heap) 1.2.3 (全局)靜態(tài)區(qū) 1.2.4 常量區(qū) 1.2.5 代碼區(qū) 創(chuàng)作不易,如果本篇博客對您有一定的幫助,大家記得留言+點(diǎn)贊哦。 C語言已經(jīng)持續(xù)學(xué)習(xí)一段時(shí)間了,今天特此總結(jié)一下關(guān)于C語言內(nèi)存的五大區(qū)

    2024年02月16日
    瀏覽(24)
  • 【Go語言】Go語言中的變量和常量

    【Go語言】Go語言中的變量和常量

    Go語言中的變量和常量 1 變量 變量相當(dāng)于是對一塊數(shù)據(jù)存儲空間的命名,程序可以通過定義一個(gè)變量來申請一塊數(shù)據(jù)存儲空間,之后可以通過引用變量名來使用這塊存儲空間。 Go 語言是強(qiáng)類型靜態(tài)語言,所以變量的聲明與賦值方式與 PHP/Python 等動態(tài)語言相比有很大的區(qū)別。

    2024年02月21日
    瀏覽(23)
  • 初始Go語言2【標(biāo)識符與關(guān)鍵字,操作符與表達(dá)式,變量、常量、字面量,變量作用域,注釋與godoc】

    ??go變量、常量、自定義類型、包、函數(shù)的命名方式必須遵循以下規(guī)則: 首字符可以是任意Unicode字符或下劃線。 首字符之外的部分可以是Unicode字符、下劃線或數(shù)字。 名字的長度無限制。 理論上名字里可以有漢字,甚至可以全是漢字,但實(shí)際中不要這么做。 Go語言

    2023年04月09日
    瀏覽(89)
  • Rust 筆記:Rust 語言中的常量與變量

    Rust 筆記 Rust 語言中的常量與變量 作者 : 李俊才 (jcLee95):https://blog.csdn.net/qq_28550263?spm=1001.2101.3001.5343 郵箱 : 291148484@163.com 本文地址 :https://blog.csdn.net/qq_28550263/article/details/130875912 【介紹】:本文介紹 Rust 語言中的常量與變量。 上一節(jié):《 上一節(jié)標(biāo)題 》 | 下一節(jié):《

    2024年02月06日
    瀏覽(21)
  • 作用域和作用域鏈的相關(guān)知識

    作用域(scope)規(guī)定了變量能夠被訪問的“范圍”,離開了這個(gè)“范圍”變量便不能被訪問。 作用域分為: 局部作用域 全局作用域 局部作用域分為函數(shù)作用域和塊作用域。 在函數(shù)內(nèi)部聲明的變量只能在函數(shù)內(nèi)被訪問,外部無法直接訪問。 總結(jié) : 函數(shù)內(nèi)部聲明的變量,在函數(shù)

    2024年02月08日
    瀏覽(21)
  • Javascript作用域 (局部作用域和全局作用域) 詳細(xì)介紹

    Javascript作用域 (局部作用域和全局作用域) 詳細(xì)介紹

    作用域是當(dāng)前的執(zhí)行上下文,值和表達(dá)式在其中“可見”或可被訪問。 常見的作用域?yàn)椋?全局作用域:腳本模式運(yùn)行所有代碼的默認(rèn)作用域 函數(shù)作用域:由函數(shù)創(chuàng)建的作用域 局部作用域:用對象{}包著(一個(gè)代碼塊)創(chuàng)建出來的作用域 在 了解作用域之前先看一下全局變量

    2024年02月08日
    瀏覽(35)
  • 【一起學(xué)數(shù)據(jù)結(jié)構(gòu)與算法】快速教你了解并實(shí)現(xiàn)單鏈表

    【一起學(xué)數(shù)據(jù)結(jié)構(gòu)與算法】快速教你了解并實(shí)現(xiàn)單鏈表

    此篇是對單鏈表知識的學(xué)習(xí)和實(shí)現(xiàn),基本上大體的方法實(shí)現(xiàn)和思路都已經(jīng)表達(dá),如果有不對的地方,還請各位大佬多多指教! 單鏈表是一種鏈?zhǔn)酱嫒〉臄?shù)據(jù)結(jié)構(gòu),用一組地址任意的存儲單元存放線性表中的數(shù)據(jù)元素。鏈表中的數(shù)據(jù)是以結(jié)點(diǎn)來表示的,每個(gè)結(jié)點(diǎn)的構(gòu)成:元素

    2024年02月19日
    瀏覽(19)
  • 【C語言趣味教程】(5) 常量:字面常量 | 類型常量 | const 關(guān)鍵字 | const 的聲明 | 程序中的只讀概念 | const 保護(hù)機(jī)制 | 如何巧妙區(qū)分 “指針常量“ 和 “常量指針“

    【C語言趣味教程】(5) 常量:字面常量 | 類型常量 | const 關(guān)鍵字 | const 的聲明 | 程序中的只讀概念 | const 保護(hù)機(jī)制 | 如何巧妙區(qū)分 “指針常量“ 和 “常量指針“

    ??? ?? 《C語言趣味教程》?? 猛戳訂閱?。?! ? 專欄介紹 / 總目錄: 【C語言趣味教程】(0) 導(dǎo)航篇 ? ——?熱門專欄《維生素C語言》的重制版 —— ?? 寫在前面: 這是一套?C 語言趣味教學(xué)專欄,目前正在火熱連載中,歡迎猛戳訂閱!本專欄保證篇篇精品,繼續(xù)保持本人

    2024年02月15日
    瀏覽(18)
  • Bean作用域和生命周期

    Bean作用域和生命周期

    hi,今天為大家?guī)Ю睟ean的作用域和生命周期的相關(guān)知識 Bean的作用域和我們之前學(xué)過的不一樣,我們之前學(xué)的作用域是一個(gè)范圍,而現(xiàn)在指的是 Bean在Spring框架中的某種行為模式,也就是一個(gè)動作. 這樣干巴巴的說看我可能無法理解,我們來舉個(gè)例子 創(chuàng)建一個(gè)公共類的一個(gè)公共對象

    2024年02月15日
    瀏覽(33)
  • JavaScript(函數(shù),作用域和閉包)

    JavaScript(函數(shù),作用域和閉包)

    類似于Java中的方法,是完成特定任務(wù)的代碼語句塊 特點(diǎn) 使用更簡單 不用定義屬于某個(gè)類,直接調(diào)用執(zhí)行 分類 系統(tǒng)函數(shù) 自定義函數(shù) 1.將字符串轉(zhuǎn)換為整型數(shù)字 js示例1 從下標(biāo)為0起,依次判斷每個(gè)字符是否可以轉(zhuǎn)換為一個(gè)有效數(shù)字 如果不是有效數(shù)字,則返回NaN,不再繼續(xù)執(zhí)

    2024年02月10日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包