结构指针内存分配问题
请教一个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