结构体内存分配问题
问题如下:
我现在定义两个结构体A,B
typedef struct _A
{
float x;
float y;
float z;
}A;
typedef struct _B
{
A* var;
}B;
我的目的是达到这种效果,即:B.var是一个数组,但是维数事先不能确定的,其中数组中元素包含x,y,z
那么我如何给这个变量分配内存,并初始化每个元素为0呢?请大家给以解惑。
[解决办法]
正如楼上所说的...
typedef struct _B
{
A* var;
}B;
int MAX_LENTH;
B temp;
scanf( "%d ",&MAX_LENTH);
temp.var=(A*)malloc(MAX_LENTH*sizeof(A));
memcpy(temp.var, '0 ', MAX_LENTH*sizeof(A));