C語言32個關鍵字裡,哪些可以用來聲明定義變量?該注意些什麼?

星沉大海3


首先從C語言的特點來說,它是一種靜態語言,所有變量都必須有一個類型,不管是基本類型,如int,char,float,double等,還是結構體、聯合體、枚舉等自定義類型,只要是類型關鍵字,都可以用來定義變量。此外,還有一個變量類型叫指針,又分為變量指針和函數指針,其中變量指針指向特定數據類型的地址,函數指針指向函數的入口地址,只要將變量類型與*號結合就可以聲明指針。此處應該注意一點,指針是一個遞歸定義,也就是說指針可以指向一個指針,有點拗口,核心意思就是指針可以一直指下去。

函數指針類型的變量定義有點特殊,這裡舉一個例子:

定義:typedef void (*myFun)(int);

         void FunImp(int param){/*函數內容*/}

使用:myFun = FunImp;myFun(10); 

綜上,記住一個關鍵點定義變量一定要有類型,這個不同於Python等動態語言,為了更清楚程序運行時的狀態,最好能知道每種類型的變量在內存中佔據的空間大小,這一點很關鍵,很多bug就是因為變量在不同的系統中佔據的內存大小不一樣導致的。比如對於Int類型,在32位系統佔用4字節,而在64位系統就佔據8字節。此外,還要清楚數據在內存中的大小端模式,即高位字節在前還是地位字節在前。


有價值的思想傳播者


C語言關鍵字分類及用途:

一、數據類型關鍵字(12個):

(1) char :聲明字符型變量或函數

(2) double :聲明雙精度變量或函數

(4) float:聲明浮點型變量或函數

(5) int: 聲明整型變量或函數

(6) long :聲明長整型變量或函數

(7) short :聲明短整型變量或函數

(8) signed:聲明有符號類型變量或函數

(9) struct:聲明結構體變量或函數

(10) union:聲明共用體(聯合)數據類型

(11) unsigned:聲明無符號類型變量或函數

(12) void :聲明函數無返回值或無參數,聲明無類型指針(基本上就這三個作用)

二、控制語句關鍵字(12個):

A循環語句

(1) for:一種循環語句(可意會不可言傳)

(2) do :循環語句的循環體

(3) while :循環語句的循環條件

(4) break:跳出當前循環

(5) continue:結束當前循環,開始下一輪循環

B條件語句

(1)if: 條件語句

(2)else :條件語句否定分支(與 if 連用)

(3)goto:無條件跳轉語句

C開關語句

(1)switch :用於開關語句

(2)case:開關語句分支

(3)default:開關語句中的“其他”分支

D返回語句

return :子程序返回語句(可以帶參數,也看不帶參數)

三、存儲類型關鍵字(4個)

(1)auto :聲明自動變量 一般不使用

(2)extern:聲明變量是在其他文件正聲明(也可以看做是引用變量)

(3)register:聲明積存器變量

四、其它關鍵字(4個):

(2)sizeof:計算數據類型長度

(3)typedef:用以給數據類型取別名(當然還有其他作用

(4)volatile:說明變量在程序執行中可被隱含地改變


需要注意的事項如下:

1、register

register變量必須是一個單個的值,長度小於等於int的長度,而register變量可能不存在內存裡,所以不能用取地址符“&”來獲取register變量的地址。

2、static

被static修飾的變量總是存在內存的靜態區,所以在局部變量在函數結束時不被銷燬,下次進入該函數的時候,該變量的值仍然存在。

3、sizeof

sizeof計算變量佔空間大小可以去掉括號,但是計算數據類型的時候不可以去掉括號。(建議都加上括號)

4、if

if語句在判斷的時候千萬要注意!!不要加分號,還有else跟最近的同等代碼塊的if匹配。

5、case

case後面只跟整型或字符型的常量或常量表達式。

6、break

break用於結束本層循環;

7、continue

continue用於結束當前循環體。

8、float

float與零值比較要格外注意,它在精度範圍內表示零值。

9、enum

enum枚舉類型自動加一,開始沒有賦值默認是0。


李天允


C語言關鍵字較多,在此不一一列舉。針對你的提問,回答如下:

定義變量的關鍵字

C語言是比較嚴謹的編程語言,變量使用之前,必須定義類型。未加定義的變量,不允許使用。

變量類型分為字符型和數值型兩大類。數值型又分為整型和浮點型兩類。整型、浮點又有長度區別。

字符型:char

整型:short、int、long

浮點型:float、double

變量定義注意事項

變量名構成有規範性要求,一般由字符、下劃線、數字構成。變量名的首字符不應用數字。在定義變量格式上,類型與變量名之間必須用空格隔開。例如:

char chrSpace;

short shrtL;

double dblS;

有經驗的程序員,會在變量前面顯性註明變量類型,避免使用時忘記變量類型,造成使用時因類型吧一致出現故障。例如,字符型變量,變量前面用chr註明。例子:

char chrKey;

float fltValue_P;

short shrtAscii_Value;

注意指針變量與變量的區別

C語言中,除了變量實體,還有指向變量的指針。指針變量一般用來對數組的讀寫和查找。

指針變量定義時,在類型後、變量之前,用“*”註明。變量名往往用ptr來顯性註明。例如:

char *ptrKeys;

ptrKeys=(char *)malloc(256);

指針變量在未指向實體變量或存儲空間前,是不能直接賦值的。

指針變量有賦值與賦地址的不同。在使用中都是必須注意的。指針未賦地址前,不能賦值。

總而言之,C語言是規範語言,但又提供了靈活性。變量必須定義,又可以用指針靈活動態存儲。這也是C語言具有強大生命力的重要原因之一。


湧進風雲


C語言關鍵字

C語言的所有關鍵字,我做了個簡單分類你可以看下下圖:

用來聲明定義變量主要是數據型和結構體型以及修飾型

關鍵字的屬性

  • C編程語言中的所有關鍵字都定義為小寫字母,因此它們必須僅以小寫字母使用
  • 每個關鍵字都有特定的含義,用戶無法改變這種含義。
  • 關鍵字不能用作用戶定義的名稱,如變量,函數,數組,指針等……
  • C編程語言中的每個關鍵字代表某些東西或指定編譯器要執行的某種操作。

下表列出了所有32個關鍵字及其含義……

C標識符

在C編程語言中,程序員可以為變量,數組,指針,函數等指定自己的名稱......標識符是一個字符集合,用作變量,函數,數組,指針,結構等的名稱。換句話說,可以將標識符定義為用戶定義的名稱,以在c編程語言中唯一地標識實體,該名稱可以是變量名,函數名,數組名,指針名,結構名或標籤。


  • 標識符只能包含字母(大寫和小寫),數字和下劃線符號。
  • 標識符不應以數值開頭。它可以以字母或下劃線開頭。
  • 我們不應該在標識符甚至空格之間使用任何特殊符號。但是,只允許使用下劃線符號。
  • 不應將關鍵字用作標識符。
  • 標識符的長度沒有限制。但是,編譯器僅考慮前31個字符。
  • 標識符的範圍必須是唯一的。

創建標識符以獲得更好編程的規則

  • 標識符必須對描述實體有意義。
  • 因為,從下劃線開始可能會與系統名稱產生衝突,因此我們避免使用下劃線啟動標識符。
  • 我們用小寫字母開始每個標識符。如果標識符包含多個單詞,則第一個單詞以小寫字母開頭,第二個單詞開頭,第一個單詞用作大寫字母。我們還可以使用下劃線來分隔標識符中的多個單詞。

尾言

回答都是手打原創,喜歡我的回答就關注一波吧,可以看到最新更新和之前的文章哦。如果想要學習C/C++,不妨關注下人人都可以學習的視頻教程,通俗易懂,深入淺出,一個視頻只講一個知識點。視頻不深奧,不需要鑽研,在公交、在地鐵、在廁所都可以觀看,隨時隨地漲姿勢。


C語言基礎


1、定義變量的格式:數據類型 變量名; 首先要強調的一點是:變量的定義是一條語句,每條語句都是以分號結尾的。故定義完變量,後面不要漏掉“;”分號。 在變量定義中,“數據類型”表示想要存儲什麼類型的數據就定義什麼類型的變量。 如想要存儲整數就定義成 int 型;想要存儲小數就定義成 float 型或 double 型;想要存儲字符就定義成 char 型等等。 “變量名”就是你想給這個變量起個什麼名字,通常都是用字母、數字與下劃線組合而成。比如: “int i;double price;double goods_price2”等等。 就表示定義了一個整型變量 i、小數型變量price、goods_price2; 2、變量定義完成後,接下來就是使用變量,為變量賦值。 將一個值放到一個變量中,這個動作叫“賦值”。通俗點講,“給變量賦值”意思就是將一個值傳給一個變量。 賦值的格式是: 變量名 = 要賦的值; 它的意思是將=右邊的數字賦給左邊的變量。比如: i = 3; 這就表示將 3 賦給了變量 i,此時 i 就等於 3 了。

3、變量的定義和賦值,可以分成兩步寫,也可以將它們合成一步,而且事實上,在實際編程中用得最多的也是合二為一的寫法。 形式如下: 數據類型 變量名 = 要賦的值; 比如:int i = 3; 就表示定義了一個變量 i,並把 3 賦給這個變量。它與 int i; i =3; 是等價的。 在定義變量時也可以一次性定義多個變量,比如: int i, j; 這就表示定義了變量 i 和 j。這裡需要強調的是,當同時定義多個變量時,變量之間是用逗號隔開的,千萬別寫成分號。這是很多新手最容易犯的錯誤,即將逗號和分號記混了。 同樣也可以在定義多個變量的同時給它們賦值: int i = 3, j = 4; 中間還是用逗號隔開,最後別忘記輸入分號。


想翻身的小海魚


C語言特性

C語言是一種通用計算機編程語言,被廣泛應用於底層的開發。其設計目標是提供一種能以簡易的方式進行編譯、處理低級存儲器、且產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

C語言關鍵字釋義

數據類型關鍵字(12個)

(1) char :聲明字符型變量或函數

(2) double :聲明雙精度變量或函數

(4) float:聲明浮點型變量或函數

(5) int: 聲明整型變量或函數

(6) long :聲明長整型變量或函數

(7) short :聲明短整型變量或函數

(8) signed:聲明有符號類型變量或函數

(9) struct:聲明結構體變量或函數

(10) union:聲明共用體(聯合)數據類型

(11) unsigned:聲明無符號類型變量或函數

(12) void :聲明函數無返回值或無參數,聲明無類型指針(基本上就這三個作用)

邏輯控制語句關鍵字(12個)

A循環語句

(1) for:一種循環語句(可意會不可言傳)

(2) do :循環語句的循環體

(3) while :循環語句的循環條件

(4) break:跳出當前循環

(5) continue:結束當前循環,開始下一輪循環

B條件語句

(1)if: 條件語句

(2)else :條件語句否定分支(與 if 連用)

(3)goto:無條件跳轉語句

C開關語句

(1)switch :用於開關語句

(2)case:開關語句分支

(3)default:開關語句中的“其他”分支

D返回語句

return :子程序返回語句(可以帶參數,也看不帶參數)

三、存儲類型關鍵字(4個)

(1)auto :聲明自動變量 一般不使用

(2)extern:聲明變量是在其他文件正聲明(也可以看做是引用變量)

(3)register:聲明積存器變量

四、其它關鍵字(4個):

(2)sizeof:計算數據類型長度

(3)typedef:用以給數據類型取別名(當然還有其他作用

(4)volatile:說明變量在程序執行中可被隱含地改變

*聲明變量名切勿與關鍵字相同,會編譯不通過。


分享到:


相關文章: