首頁>Club>
13
回覆列表
  • 1 # lanfengz1

    1.1:基礎用法:

    typedef int size_i;

    則此時size_i就是int的別名。typedef並不建立新的型別。僅為現有型別新增一個同義字。可以在需要int的上下文中使用size_i.

    1.2: typedef與struct結合使用:

    typedef struct tagMyStruct

    {

    int iNum;

    long lSize;

    } MyStruct, *pMyStruct;

    這段程式碼完成由兩個操作組成:

    動作一:

    struct tagMyStruct

    {

    int iNum;

    long lSize;

    };

    定義了一個新的結構體型別。

    tagMyStruct稱為“tag”,即“標籤”,實際上是一個臨時名字,struct關鍵字和tagMyStruct一起,構成了這個結構型別,不論是否有typedef,這個結構都存在。

    用struct tagMyStruct varName來定義變數,但要注意,使用tagMyStruct

    varName來定義變數是不對的,struct 和tagMyStruct合在一起才能表示一個結構型別。

    動作二:

    使用typedef為這個結構體起了個新別名。

    typedef struct tagMyStruct MyStruct;

    typedef struct tagMyStruct *pMyStruct;

    因為MyStruct 是struct tagMyStruct的別名。 可以直接使用MyStruct來定義變數。

    如: MyStruct

    varName;

    C語言允許在結構中包含指向它自己的指標,但上述程式碼的根本問題在於typedef的應用。程式碼分兩個過程:結構體的定義,結構體的新命名。

    1.3:

    typedef與enum結合使用:

    typedef enum tagweekday{ sun, mon, tue, wed, thu, fri, sat }

    WeekDay;

    則enum tagweekday是一個新列舉型別。

    WeekDay則是這個列舉型別的新名字。

    與struct類似, enum

    weekday組成一個型別。

  • 中秋節和大豐收的關聯?
  • 如何練好硬筆字?