C語言的32個關鍵字
C語言的關鍵字共有32個,可分其為數據類型關鍵字、控制語句關鍵字、存儲類型關鍵字以及其它關鍵字,下面是相關的知識,歡迎閱讀。
數據類型關鍵字(12個):
(1) char :聲明字符型變量或函數
(2) double :聲明雙精度變量或函數
(3) enum :聲明枚舉類型
(4) float:聲明浮點型變量或函數
(5) int: 聲明整型變量或函數
(6) long :聲明長整型變量或函數
(7) short :聲明短整型變量或函數
(8) signed:聲明有符號類型變量或函數
(9) struct:聲明結構體變量或函數
(10) union:聲明共用體(聯合)數據類型
(11) unsigned:聲明無符號類型變量或函數
(12) void :聲明函數無返回值或無參數,聲明無類型指針
控制語句關鍵字(12個):
A循環語句:
for:一種循環語句
do :循環語句的循環體
while :循環語句的循環條件
break:跳出當前循環
continue:結束當前循環,開始下一輪循環 B條件語句:
if: 條件語句
else:條件語句否定分支(與 if 連用)
goto:無條件跳轉語句 C開關語句:
switch :用於開關語句
case:開關語句分支
default:開關語句中的「其他」分支 D返回語句:
return :子程序返回語句(可以帶參數,也看不帶參數)
存儲類型關鍵字(4個):
auto :聲明自動變量 一般不使用
extern:聲明變量是在其他文件正聲明(也可以看做是引用變量)
register:聲明積存器變量
static :聲明靜態變量
其它關鍵字(4個):
const :聲明只讀變量
sizeof:計算數據類型長度
typedef:用以給數據類型取別名(當然還有其他作用)
volatile:說明變量在程序執行中可被隱含地改變
拓展內容
C語言關鍵字static的使用
1、static 修飾函數
函數的訪問範圍就被限定在本文件以內,任何本文件以外內容的訪問此函數,都是非法和無效的,編譯不會通過,提示找不到該符號。 所以,我們在進行一個函數設計的時候,首先需要考慮的.就是,這個函數的作用是什麼,作用範圍是什麼,我們應該怎麼去保證模塊化。如果沒有被外部文件訪問,那麼就把它限定為static。這就是這個static 修飾函數的用處。
2、static 修飾變量
無論在文件的哪個位置,用static修飾 變量,這個變量運行時都是占用的RAM里的靜態全局數據區,再說一遍,靜態全局。在程序運行的整個生命周期內是不會釋放的,這個我們也在前面單片機相關的文章里講過了。
既然static 修飾的變量和全局變量占用一樣的空間,為何還有static修飾,直接全局變量也就OK了啊? 對於硬體來說,有沒有static自然是一樣的,但是對於軟體卻不一樣。
函數外static修飾的變量,僅僅限定與本文件使用,所以你可以不關注本文件以外的信息,就知道這個變量是如何變化和使用的,這就減小了你閱讀程序的難度。
函數內static修飾的變量,僅僅限定於本函數使用,所以你可以不關注本函數以外的信息,就知道這個變量是如何變化的,進一步減小了你閱讀程序的難度,也方便查詢問題。
所以能定義為static的就儘量定義為static(後面會再更新如何去除static,書寫可重入函數)。
C語言的關鍵字
數據類型修飾相關
auto按照自動的方式進行變量的存儲
const定義常量或常參數
extern聲明外部變量或函數
register指定變量的存儲類型是寄存器變量
static指定變量的存儲類型是靜態變量,或指定函數是靜態函數
volatile變量的值可能在程序的外部被改變
數據類型相關
char字符型數據
short定義短整型變量或指針
int整型數據
long長整型數據
signed有符號的整型數據
unsigned定義無符號的整型變量或數據
float單精度浮點型數據
double雙精度浮點型數據
struct結構體型數據
enum枚舉型類型
union聯合型數據
void空型數據
typedef為數據類型定義別名
流程控制相關
continue結束本次循環進入下一次循環
break跳出循環或switch語句
switch定義switch語句
case定義switch中的case子句
default定義switch中的default子句
do定義do-while語句
while定義while或do-while語句
if定義if語句或if-else語句
else定義if-else語句
for定義for循環語句
goto定義goto語句
預處理相關
#include包含頭文件
#define定義宏
#undef取消已經定義的宏
#if定義條件編譯的條件
#ifdef定義條件編譯的條件
ifndef定義條件編譯的條件
#elif定義條件編譯的條件
#endif結束條件編譯
C語言的關鍵字共有32個,可分其為數據類型關鍵字、控制語句關鍵字、存儲類型關鍵字以及其它關鍵字,下面是相關的知識,歡迎閱讀。
數據類型關鍵字(12個):
(1) char :聲明字符型變量或函數
(2) double :聲明雙精度變量或函數
(3) enum :聲明枚舉類型
(4) float:聲明浮點型變量或函數
(5) int: 聲明整型變量或函數
(6) long :聲明長整型變量或函數
(7) short :聲明短整型變量或函數
(8) signed:聲明有符號類型變量或函數
(9) struct:聲明結構體變量或函數
(10) union:聲明共用體(聯合)數據類型
(11) unsigned:聲明無符號類型變量或函數
(12) void :聲明函數無返回值或無參數,聲明無類型指針
控制語句關鍵字(12個):
A循環語句:
for:一種循環語句
do :循環語句的循環體
while :循環語句的循環條件
break:跳出當前循環
continue:結束當前循環,開始下一輪循環 B條件語句:
if: 條件語句
else:條件語句否定分支(與 if 連用)
goto:無條件跳轉語句 C開關語句:
switch :用於開關語句
case:開關語句分支
default:開關語句中的「其他」分支 D返回語句:
return :子程序返回語句(可以帶參數,也看不帶參數)
存儲類型關鍵字(4個):
auto :聲明自動變量 一般不使用
extern:聲明變量是在其他文件正聲明(也可以看做是引用變量)
register:聲明積存器變量
static :聲明靜態變量
其它關鍵字(4個):
const :聲明只讀變量
sizeof:計算數據類型長度
typedef:用以給數據類型取別名(當然還有其他作用)
volatile:說明變量在程序執行中可被隱含地改變
拓展內容
C語言關鍵字static的使用
1、static 修飾函數
函數的訪問範圍就被限定在本文件以內,任何本文件以外內容的訪問此函數,都是非法和無效的,編譯不會通過,提示找不到該符號。 所以,我們在進行一個函數設計的時候,首先需要考慮的.就是,這個函數的作用是什麼,作用範圍是什麼,我們應該怎麼去保證模塊化。如果沒有被外部文件訪問,那麼就把它限定為static。這就是這個static 修飾函數的用處。
2、static 修飾變量
無論在文件的哪個位置,用static修飾 變量,這個變量運行時都是占用的RAM里的靜態全局數據區,再說一遍,靜態全局。在程序運行的整個生命周期內是不會釋放的,這個我們也在前面單片機相關的文章里講過了。
既然static 修飾的變量和全局變量占用一樣的空間,為何還有static修飾,直接全局變量也就OK了啊? 對於硬體來說,有沒有static自然是一樣的,但是對於軟體卻不一樣。
函數外static修飾的變量,僅僅限定與本文件使用,所以你可以不關注本文件以外的信息,就知道這個變量是如何變化和使用的,這就減小了你閱讀程序的難度。
函數內static修飾的變量,僅僅限定於本函數使用,所以你可以不關注本函數以外的信息,就知道這個變量是如何變化的,進一步減小了你閱讀程序的難度,也方便查詢問題。
所以能定義為static的就儘量定義為static(後面會再更新如何去除static,書寫可重入函數)。
C語言的關鍵字
數據類型修飾相關
auto按照自動的方式進行變量的存儲
const定義常量或常參數
extern聲明外部變量或函數
register指定變量的存儲類型是寄存器變量
static指定變量的存儲類型是靜態變量,或指定函數是靜態函數
volatile變量的值可能在程序的外部被改變
數據類型相關
char字符型數據
short定義短整型變量或指針
int整型數據
long長整型數據
signed有符號的整型數據
unsigned定義無符號的整型變量或數據
float單精度浮點型數據
double雙精度浮點型數據
struct結構體型數據
enum枚舉型類型
union聯合型數據
void空型數據
typedef為數據類型定義別名
流程控制相關
continue結束本次循環進入下一次循環
break跳出循環或switch語句
switch定義switch語句
case定義switch中的case子句
default定義switch中的default子句
do定義do-while語句
while定義while或do-while語句
if定義if語句或if-else語句
else定義if-else語句
for定義for循環語句
goto定義goto語句
預處理相關
#include包含頭文件
#define定義宏
#undef取消已經定義的宏
#if定義條件編譯的條件
#ifdef定義條件編譯的條件
ifndef定義條件編譯的條件
#elif定義條件編譯的條件
#endif結束條件編譯
收藏