用c語言寫結構體時,一般有以下3種寫法,下面做乙個比較總結
1、
struct __node2、node;
typedef struct __node3、node;
typedef structnode;
第一種寫法做了兩件事情:1)定義乙個名為__node的結構體:
struct __node
;2)然後申明乙個例項node:
struct __node node;
這種寫法不好的地方在於以後每次需要結構體變數時都需要這樣申明:
struct __node xx;
不太方便。
第二種寫法也做了兩件事:
1)定義乙個名為__node的結構體:
struct __node
;2)給這個結構體起乙個別名:
typedef struct __node node;
以後用到struct __node的地方都可以用node代替了,不需要加上struct關鍵字了。定義變數時,寫成:
node xx;
第三種寫法是第二種寫法的簡寫,它定義了乙個匿名的結構體,而node是它的別名。
定義變數時,寫成:
node xx;
C語言的結構體
c語言中的基本資料型別有 整形 浮點型 字元型,復合資料型別 陣列。還有一種構造資料型別,叫 結構體 宣告結構體的形式 struct 結構體名 成員列表可以是c語言的任何資料型別,如 整形 浮點型 字元型 陣列,指標,結構體 共用體 列舉。宣告了乙個結構體,相當於構造了一種新的資料型別,此時系統並不...
c語言的結構體
1.結構體的概念 結構體是一種複合型資料型別,同屬於複合型資料型別的還有聯合體。結構體可以理解為是一種自定義型別,用於對其他資料型別 什麼int型,double型,float型等等 的打包。c語言中正是因為結構體的存在,使其 具有封裝性,可以基於物件導向思想來程式設計。2.結構體的宣告 定義 假設我...
C語言的結構體
舉例,乙個結構體的定義如下 typedef struct foo foo 如果直接對上面的結構体作sizeof 運算 printf d n sizeof foo 40 如果在成員名後面加上冒號,指定占用的bits數,可以節省結構體的大小,例如 typedef struct foo foo 可以使用下...