GNU C标准中,struct 空数组成员妙用,构建动态数组

typedef struct array 

{

      int len;//记录数据的长度

      char data[0];//没有元素,但是data指向结构体后续的地址;

}char_array;

用法:

     通过 char_array * p_array = (char_array *)malloc(sizeof(char_array)+LEN);来分配超过array结构体的实际size的空间,LEN分配数组的大小

     通过p_array->data来访问struct后续的地址空间,进行操作

    使用之后,要记得free(p_array->data);

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