读书人

结构体内存分配有关问题

发布时间: 2012-03-30 17:32:09 作者: rapoo

结构体内存分配问题
问题如下:
我现在定义两个结构体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));

读书人网 >C语言

热点推荐