c語言複習

2021-07-04 13:03:39 字數 602 閱讀 9727

記住,typedef是定義了一種型別的新別名,不同於巨集,它不是簡單的字串替換。比如:

先定義:

typedef char* pstr;

然後:

int mystrcmp(const pstr, const pstr);

const pstr實際上相當於const char*嗎?不是的,它實際上相當於char* const。

原因在於const給予了整個指標本身以常量性,也就是形成了常量指標char* const。

簡單來說,記住當const和typedef一起出現時,typedef不會是簡單的字串替換就行。

案例一:

通常講,typedef要比#define要好,特別是在有指標的場合。請看例子:

typedef char *pstr1;

#define pstr2 char *;

pstr1 s1, s2;

pstr2 s3, s4;

在上述的變數定義中,s1、s2、s3都被定義為char *,而s4則定義成了char,不是我們所預期的指標變數,根本原因就在於#define只是簡單的字串替換而typedef則是為乙個型別起新名字。

C語言複習(專公升本複習)

示例 inculdevoid mian 上面是乙個簡單的c語言程式下面就來介紹其中的各個關鍵點 c語言程式是由乙個或者多個函式構成,乙個c語言有若干條c語言語句構成 2.注 乙個c語言程式或是乙個資料夾中只能有乙個主函式 inculdevoid mian 1.inculde 標頭檔案 inculde...

C語言複習

巨集 替代 的意思 巨集定義 後面沒有標點。替換原則 先替換,後計算 define a x x x int b a 10 10 b 10 10 10 10 120 而非 10 10 10 10 條件編譯 能夠 減少 系統編譯的 量 是一種預處理命令。static int a 10 表示a 靜態變數,...

C語言複習

之前學校組織去外面實習需要用c語言,所以記錄了一下。函式 介面 api 迴圈 重複性的動作可以使用迴圈來實現 格式 for 條件初始化 條件判斷 條件更新 例 int sum 0 int i 0 for i 0 i 10 i while 格式 條件的初始化 while 條件判斷 缺點 條件更新在最後...