结构体中变量定义

结构体中变量定义求助
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "string.h"
 struct staff
   {
  char name[];
  int age;
  };

void main()
{
 struct staff staff1;
 staff1.age=20;
 strcpy(staff1.name,"jiangchao");
 printf("name:%s\nage:%d\n",staff1.name,staff1.age);
  }

struct 'staff'  has an  illegal zero-sized array
int age;这一行有什么错吗?
------解决方案--------------------

struct staff
   {
  int age;
char name[];// 如果还不行的话 写成这样 ,char name[0],视编译器而定
 };

------解决方案--------------------
引用:
想用变长数组?要把他放在结构体的最后

是“变长数组”还是“变量长度数组”,我建议称之为“变量长度数组”。当然,这个似乎不是那么重要。