C語言(結構體、枚舉、typedef)筆記 by STP

1.結構體 struct

格式:

struct Student{
    char *name;
    int age;
    float height;
};

struct Student s;//定義一個結構體變量

//給結構體成員賦值
s.name="kristy";
s.age=22;
s.height=1.63;

可連寫並省略結構體名

struct {
    char *name;
    int age;
    float height;
} s;


2.枚舉 enum

格式:

enum Season{spring,summer,autumn,winter};

enum Season s;//定義一個枚舉變量

可連寫並省略枚舉名

<span style="font-size:18px;">enum {spring,summer,autumn,winter} s;</span>



3.typedef 

作用:爲各種數據類型起別名,可使代碼變得簡潔。


typedef與#define的區別

1) #define是預處理指令,在編譯預處理時進行簡單的替換,不作正確性檢查,不關含義是否正確照樣帶入,只有在編譯已被展開的源程序時纔會發現可能的錯誤並報錯。

2)typedef是在編譯時處理的。它在自己的作用域內給一個已經存在的類型一個別名。
3)#define後面無需寫“;” typedef需要寫“;”

<span style="font-size:18px;">#define String1 char * // </span><span style="font-size:14px;">遇到String1 替換爲 char *</span><span style="font-size:18px;">

typedef char *String2;//  </span><span style="font-size:14px;">用String2 <span style="font-family: Arial, Helvetica, sans-serif;">表示char  *</span></span><span style="font-size:18px;">
</span><span style="font-size:18px;">


int main(int argc, const char * argv[]) {
    String1 str1, str2;
    
    String2 str3, str4;
    return 0;
}</span>

str1,str3,str4爲指針變量,str2爲char類型變量






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章