基本資料型別:short、int 、long、float、double、char 、unsigned 、signed (8個)
復合資料型別:struct 、 union、enum (3個)
語句結構:if 、esle、do、while、for、switch、case、default、break、continue、goto(11個)
型別修飾符:extern 、static、const、volatile (4個)
其他:sizeof、typedef、void、return、auto、register (6個)
extern可置於變數或者函式前,以表示變數或者函式的定義在別的檔案中,提示編譯器遇到此變數或函式時,在其它模組中尋找其定義。
1、修飾區域性變數的時候,可以延長其生命週期,直至主程式執行結束2、修飾全域性變數的時候,全域性變數只可以在本檔案中使用,其他檔案不可用(隱藏)
3、修飾函式的時候, 函式只可以在本檔案中使用,其他檔案不可用(隱藏)
1、修飾變數2、修飾指標:看const修飾的物件,將型別去掉,離誰最近就修飾誰
const char *p1=&a
修飾*,不能通過*改變指向的空間的值,可以理解為*p1 不能變
char*const p1=&a
修飾指標變數p1,指標指向不能變,p1不能變,可以通過p1但改變指向空間的值
const char*const p1=&a
指標指向(p1)不能變,不能通過*p1修改指向空間的值
3、修飾函式引數4、修飾函式返回值
c語言允許為乙個資料型別起乙個新的別名,就像給人起「綽號」一樣。起別名的目的不是為了提高程式執行效率,而是為了編碼方便。
#include
//普通變數
typedef
short int16;
typedef
int int32;
typedef
long int64;
typedef
long
long int64;
// 陣列型別
typedef
int(array10)[10
];// 陣列指標型別
typedef
int(
*parray10)[10
];//重定義結構體
typedef
struct student
student;
intadd
(int a,
int b)
//函式指標變數
int(
*p1)
(int a,
int b)
=add;
//函式指標型別
//重定義乙個函式指標型別
typedef
int(
*pfunction)
(int a,
int b)
;int
main()
; student s1;
student *p2=
&s1;
pfunction p1=add;
printf
("%d\n",p1
(1,2
));printf
("%d\n"
,a1[0]
);return0;
}
C語言之關鍵字typedef
c語言提供了乙個 型別定義 的功能 typedef 用此來建立新的資料型別名。需要強調的是,從任何意義上來講,typedef 的宣告並沒有建立乙個新的型別,它只是為某個已經存在的型別增加乙個新的名稱而已。typedef 宣告也沒有增加任何新的語義,通過這種方式宣告的變數與通過普通方式宣告的變數具有完...
C語言之const關鍵字總結
同樣都可以定義常量,const與 define相比有什麼不同?1.const常量有資料型別,而巨集常量沒有資料型別。2.編譯器可以對常量進行型別安全檢查,而巨集只進行字元替換,沒有安全檢查,而且在字元替換對過程中可以發生意想不到對錯誤 邊界效應 define n 2 3 double a n 2 我...
C語言之32個關鍵字
char 宣告字元型變數或函式 int 宣告整型變數或函式 short 宣告短整型變數或函式 long 宣告長整型變數或函式 float 宣告浮點型變數或函式 double 宣告雙精度變數或函式 unsigned 宣告無符號型別變數或函式 signed 宣告有符號型別變數或函式 enum 宣告列舉型...