柔性數組

C99中,結構體中的最後一個元素允許是未知大小的數組,這就叫做柔性數組成員

typedef struct st_type {
	int i; 
	char a[0];
}type_a;

或者:

typedef struct st_type {
	int i; 
	char a[];
}type_a;

柔性數組的特點:
1.結構中的柔性數組成員前面必須至少一個其他成員。
2.sizeof 返回的這種結構大小不包括柔性數組的內存。
3.包含柔性數組成員的結構用malloc ()函數進行內存的動態分配,並且分配的內存應 該大於結構的大小,以適應柔性數組的預期大小。

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