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

C語言簡明介紹常見關鍵字的用法

 更新時間:2022年06月14日 08:36:53   作者:要努力丫!  
關鍵字是C語言非常重要的一部分,熟練的掌握和使用關鍵字有助于我們更加熟悉了解C語言,同時C語言的關鍵字也是面試筆試中??嫉膬?nèi)容。C語言的關鍵字共有32個,但并不是每個關鍵字都有坑,本篇文章將通過理論聯(lián)系實際的方式為大家講解C語言中易混易錯以及常考的一些關鍵字

1、關鍵字

關鍵字是C語言提供的,不能自己創(chuàng)建關鍵字;

關鍵字不能用作變量名,eg:int char;這樣的寫法是不可取的。

2、常見關鍵字

auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unisigned void volatile while以上列舉的均為常見關鍵字。

(1)auto是自動的,每個局部變量都是auto修飾的,如:在結構體中有寫

{
	int a =10;
}

這其實是自動創(chuàng)建、自動銷毀的,屬于自動變量,它前面省略了auto,其實是auto int a =10;

(2)extern:用來聲明外部變量

(3)register:寄存器關鍵字

int main()
{
	register int num = 100;//指的是建議num的值放在寄存器中
	return 0;
}

在計算機中,數(shù)據(jù)打給可以存放在“寄存器”、“高速緩存”、“內(nèi)存”、“硬盤”、“網(wǎng)盤”這幾個地方。

從下往上,造價越來越高,空間越來越小,但讀寫速度越來越快。

將“大量”或者“頻繁”被使用的數(shù)據(jù),放在寄存器里面,可以提升效率。

(4)signed:有符號的 unsigned:無符號的

(5)static:靜態(tài)的

在語言中,static是用來修飾變量和函數(shù)的。

  • 修飾局部變量----靜態(tài)局部變量,改變了局部變量的生命周期(本質上是改變了變量的存儲類型)
  • 修飾全局變量—靜態(tài)全局變量
  • 修飾函數(shù)—靜態(tài)函數(shù)

1>static修飾局部變量

聲明test函數(shù)

void test()//聲明test函數(shù)
{
	int a = 1;
	a++;
	printf("%d",a);
	return 0;
}
int main()
{
	int i = 0;
	while (i < 10)
	{
		test();
		i++;
	}
	return 0;
}

運行結果為:2222222222

若將test函數(shù)中的int a=1;改為static int a =1;,則運行結果為

234567891011

補充:

內(nèi)存可以劃分為“棧區(qū)”(存放局部變量)、“堆區(qū)”(動態(tài)內(nèi)存分配)以及“靜態(tài)區(qū)”(存放全局變量以及ststic修飾的靜態(tài)變量)。所以在該例子中,a由棧區(qū)到靜態(tài)區(qū),它的存儲類型改變了,進一步致使生命周期改變。程序不結束,全局變量和static修飾的靜態(tài)變量不銷毀。

2>static修飾全局變量

全局變量在整個工程中都可以使用,但是被static修飾之后就不能在整個工程中使用了,若在一個源文件里面寫static int g_val=2022;,在另外一個源文件里面寫:

點擊運行之后會報錯,顯示無法解析的外部符號g_val

static修飾全局變量會使得這個全局變量只能在自己所在的.c源文件里面使用,其它源文件不能使用。

全局變量在其它源文件內(nèi)部可以使用,是因為全局變量具有外部鏈接屬性,但是被static修飾之后,就變成了內(nèi)部鏈接屬性,其它源文件就不能鏈接到這個靜態(tài)的全局變量了。

3>static修飾函數(shù)

在一個源文件里面寫

int  Add(int x, int y)
{
	return x + y;
}

在另外一個源文件里面寫

extern int Add(int x,int y)
int main()
{
	int a = 10;
	int b = 20;
	int sum = Add(a,b);
	printf("sum=%d\n",sum);
	return 0;
}

這樣是可以執(zhí)行的,但是將int Add(int x, int y)改為static int Add(int x, int y)就會報錯,顯示無法解析的外部符號。

static修飾函數(shù)使得函數(shù)只能在自己所在的源文件內(nèi)部使用,不能在其它源文件里面使用,本質上是static將函數(shù)的外部鏈接屬性變成了內(nèi)部鏈接屬性,和static修飾全局變量一樣。

(6)struct:結構體關鍵字

(7)typedef:類型重定義

下面的代碼是說要定義一個無符號的整數(shù),但是這樣寫有點麻煩,于是就用到了typedef關鍵字。

int main()
{
	unsigned int num = 100;
	return 0;
}

利用typedef關鍵字進行類型重定義:

typedef unsigned int u_int;
//意思是將unsigned int重新命名為u_int,在之后的代碼里面,u_int就代表無符號整型
int main()
{
	u_int num1 = 100;
	return 0;
}

(8)union:聯(lián)合體(共用體)

(9)void:無,空

(10)volatile

問:define與include是否為關鍵字?

答:它們均不是關鍵字,它們是預處理指令。

到此這篇關于C語言簡明介紹常見關鍵字的用法的文章就介紹到這了,更多相關C語言關鍵字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • c++線程池實現(xiàn)方法

    c++線程池實現(xiàn)方法

    這篇文章主要介紹了c++線程池實現(xiàn)方法,實例分析了C++線程池的原理與相關實現(xiàn)技巧,需要的朋友可以參考下
    2015-06-06
  • C語言--數(shù)字交換題目詳解

    C語言--數(shù)字交換題目詳解

    本文通過代碼給大家介紹c語言數(shù)字交換的題目,通過實例代碼給大家講解的很詳細,具有一定的參考借鑒價值,對c語言感興趣的朋友一起看看吧
    2021-08-08
  • C語言實現(xiàn)酒店客房管理系統(tǒng)課程設計

    C語言實現(xiàn)酒店客房管理系統(tǒng)課程設計

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)酒店客房管理系統(tǒng)課程設計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語言中cJSON的使用

    C語言中cJSON的使用

    JSON是一種輕量級的數(shù)據(jù)交換格式,常用于在網(wǎng)絡之間傳輸數(shù)據(jù),本文主要介紹了C語言中cJSON的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • C++中delete函數(shù)的具體使用

    C++中delete函數(shù)的具體使用

    本文主要介紹了C++中delete函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • C/C++獲取Windows平臺CPU占用率的方法

    C/C++獲取Windows平臺CPU占用率的方法

    最近在做系統(tǒng)信息相關的接口,為了實現(xiàn)跨平臺,故在linux和Windows平臺獲取占用率信息,文章主要介紹Windows下的方法,文中給出了參考代碼,需要的朋友可以參考下
    2023-12-12
  • C++智能指針shared_ptr分析

    C++智能指針shared_ptr分析

    這篇文章主要介紹了C++智能指針shared_ptr分析的相關資料,需要的朋友可以參考下
    2017-03-03
  • C++實現(xiàn)LeetCode(179.最大組合數(shù))

    C++實現(xiàn)LeetCode(179.最大組合數(shù))

    這篇文章主要介紹了C++實現(xiàn)LeetCode(179.最大組合數(shù)),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C語言和go語言之間的交互操作方法

    C語言和go語言之間的交互操作方法

    下面小編就為大家?guī)硪黄狢語言和go語言之間的交互操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • C++命名空間實例解析

    C++命名空間實例解析

    這篇文章主要介紹了C++命名空間實例解析,對C++程序員來說是非常重要的知識點,需要的朋友可以參考下
    2014-08-08

最新評論

张北县| 鹤壁市| 甘德县| 成武县| 景泰县| 东辽县| 电白县| 安陆市| 丹巴县| 池州市| 邻水| 文昌市| 延庆县| 高安市| 康马县| 灵璧县| 黑水县| 香格里拉县| 娄底市| 平凉市| 陇西县| 西青区| 寿宁县| 仁化县| 成武县| 治县。| 朝阳区| 武威市| 南江县| 增城市| 大余县| 安泽县| 岳池县| 岑巩县| 宿松县| 安多县| 临海市| 平南县| 泉州市| 涪陵区| 平泉县|