读书人

结构指针内存分配有关问题

发布时间: 2012-02-10 21:27:42 作者: rapoo

结构指针内存分配问题
请教一个c语言基本的问题
我现在定义两个结构体,分别为:

typedef _A
{
float *x;

}A;

typedef _B
{
A* y;
}B;


void main()
{
B* z

}

我现在的问题是想给 z分配内存,具体是这样:y个数为N个,而x的个数为M个。其实类似建立一个矩阵 y[N][M]。请问如何分配,谢谢,在线等。

[解决办法]
z = (B *)malloc(sizeof(B));
z-> y = (A *)malloc(M * sizeof(A));
for(int i = 0; i < M; i++)
{
z-> y[i]-> x = (float *)malloc(N * sizeof(float));
}

提示一下,结构体的定义少了struct
[解决办法]
z = (B *)malloc(sizeof(B));
z-> y = (A *)malloc(M * sizeof(A));
for(int i = 0; i < M; i++)
{
z-> y[i]-> x = (float *)malloc(N * sizeof(float));
}
================
OK

读书人网 >C语言

热点推荐