<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
關鍵字是C語言提供的,不能自己建立關鍵字;
關鍵字不能用作變數名,eg:int char;這樣的寫法是不可取的。
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; }
這其實是自動建立、自動銷燬的,屬於自動變數,它前面省略了auto,其實是auto int a =10;
(2)extern:用來宣告外部變數
(3)register:暫存器關鍵字
int main() { register int num = 100;//指的是建議num的值放在暫存器中 return 0; }
在計算機中,資料打給可以存放在“暫存器”、“快取記憶體”、“記憶體”、“硬碟”、“網路硬碟”這幾個地方。
從下往上,造價越來越高,空間越來越小,但讀寫速度越來越快。
將“大量”或者“頻繁”被使用的資料,放在暫存器裡面,可以提升效率。
(4)signed:有符號的 unsigned:無符號的
(5)static:靜態的
在語言中,static是用來修飾變數和函數的。
1>static修飾區域性變數
宣告test函數
void test()//宣告test函數 { int a = 1; a++; printf("%d",a); return 0; } int main() { int i = 0; while (i < 10) { test(); i++; } return 0; }
執行結果為:2222222222
若將test函數中的int a=1;
改為static int a =1;
,則執行結果為
234567891011
補充:
記憶體可以劃分為“棧區”(存放區域性變數)、“堆區”(動態記憶體分配)以及“靜態區”(存放全域性變數以及ststic修飾的靜態變數)。所以在該例子中,a由棧區到靜態區,它的儲存型別改變了,進一步致使生命週期改變。程式不結束,全域性變數和static修飾的靜態變數不銷燬。
2>static修飾全域性變數
全域性變數在整個工程中都可以使用,但是被static修飾之後就不能在整個工程中使用了,若在一個原始檔裡面寫static int g_val=2022;
,在另外一個原始檔裡面寫:
點選執行之後會報錯,顯示無法解析的外部符號g_val
static修飾全域性變數會使得這個全域性變數只能在自己所在的.c原始檔裡面使用,其它原始檔不能使用。
全域性變數在其它原始檔內部可以使用,是因為全域性變數具有外部連結屬性,但是被static修飾之後,就變成了內部連結屬性,其它原始檔就不能連結到這個靜態的全域性變數了。
3>static修飾函數
在一個原始檔裡面寫
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=%dn",sum); return 0; }
這樣是可以執行的,但是將int Add(int x, int y)
改為static int Add(int x, int y)
就會報錯,顯示無法解析的外部符號。
static修飾函數使得函數只能在自己所在的原始檔內部使用,不能在其它原始檔裡面使用,本質上是static將函數的外部連結屬性變成了內部連結屬性,和static修飾全域性變數一樣。
(6)struct:結構體關鍵字
(7)typedef:型別重定義
下面的程式碼是說要定義一個無符號的整數,但是這樣寫有點麻煩,於是就用到了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:聯合體(共用體)
(9)void:無,空
(10)volatile
問:define與include是否為關鍵字?
答:它們均不是關鍵字,它們是預處理指令。
到此這篇關於C語言簡明介紹常見關鍵字的用法的文章就介紹到這了,更多相關C語言關鍵字內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45