C語言之關鍵字

2021-09-02 07:28:57 字數 1855 閱讀 1191

基本資料型別: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 宣告列舉型...