typedef struct和struct的差別:typedef struct建立結構體類型的別名,而struct定義新的結構體類型。 typedef struct建立的別名在宣告之後即可使用,而struct定義的結構體在定義之後才可使用。 typedef struct和struct都不會建立額外的儲存空間。
typedef struct和struct的區別
在C 中,typedef struct
和struct
的差異在於:
別名與定義:
為現有
struct類型建立別名,它只定義一個新的類型名稱,不會建立新的結構體。
用來定義一個新的結構體類型,它會建立一個新的資料結構。
使用方式:
建立的別名可以用作類型名稱,就像普通類型一樣。
定義的結構體可以使用結構體名稱來引用。
可存取性:
建立的別名在整個來源檔案中都可訪問,即使在別名聲明之後。
定義的結構體只有在結構體定義之後才可存取。
儲存空間:
與
struct都不會創建額外的儲存空間,它們只是方便地引用或建立結構體。
範例:
<code class="cpp">// 定义一个结构体 struct Point { int x; int y; }; // 为结构体创建别名 typedef struct Point PointAlias;</code>
PointAlias是
Point結構體的別名,可以透過以下方式使用:
<code class="cpp">PointAlias point; // 声明一个PointAlias类型的变量 point.x = 10; // 访问变量的成员</code>
總結:
建立結構體類型的別名,而
struct定義新的結構體類型。
建立的別名在宣告之後即可使用,而
struct定義的結構體在定義之後才可使用。
和
struct都不會建立額外的儲存空間。
以上是c++中typedef struct和struct的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!