入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

结构体中的长度可变数组。

创建时间:2011-06-30 投稿人: 浏览次数:1926

#include <stdio.h>

struct line {
  int length;
  char contents[0];
};


struct block {
  int length;
  char contents[];  /* xx[] is at the end of the struct only. */
//  int text[20]; /* contexts[]只能在结构体的最尾处。 */
};


int main()
{
    struct line *thisline = (struct line *)malloc(sizeof(struct line) + 10);
    thisline->length = 10;
   
    struct block *thisblock = (struct block *)malloc(sizeof(struct block) + 10);
    thisblock->length = 10;
    printf("sizeof(struct line) = %d/n",sizeof(struct line));  /* 打印结果是4. */
    printf("sizeof(struct block) = %d/n",sizeof(struct block));
}
---------------------------------------------------------------------------------------

liudan@liudan-desktop:/media/LIUDAN/aa/array_len_zero$
liudan@liudan-desktop:/media/LIUDAN/aa/array_len_zero$ ./arr
sizeof(struct line) = 4
sizeof(struct block) = 4
liudan@liudan-desktop:/media/LIUDAN/aa/array_len_zero$

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像