请教c++结构体定义

来源:百度知道 编辑:UC知道 时间:2024/06/17 20:25:14
struct
{
int x;
char y[x];
};
类似这样的,char型数组的数量由x决定,怎么定义?
vc++环境
struct
{
int number;
struct abc
{int a;
int b;
}xyz[number];
}
其实实际是这样的,也是按照34楼上的处理吗

直接定义:
struct
{
int x;
char * y;
}
然后用的时候,y=malloc(x*sizeof(char));
直接当做数组一样用就可以了

是的 应该是一样的
struct
{
int num;
struct abc * xyz;
}

xyz=malloc(sizeof(abc)*num);

x 定义成const类型

不行的

编译器在编译到char y[x]时,要求x为确定的数,但是x的数据不不知道,所以不行,
如果要动态分配内存,只能象三楼说的那样做

答案补充:
是的