c - 在另一个结构中初始化结构数组
问题描述
我是 C 的初学者,我试图一次使用另一个结构中的结构数组进行多次分配。
这是我正在尝试做的一个例子:
#include <stdio.h>
#include <stdlib.h>
// #define NULL ((void*)0)
typedef struct A{
int a;
}A;
typedef struct B{
A *arrayA[10]; //tableau de cellules
struct B *anotherB;
}B;
int main(int argc, char const *argv[]) {
B *myB;
myB=(B*)malloc(sizeof(B)); //generating B
for (size_t i = 0; i < 10; i++) {
A *myA;
myA = myB->arrayA[i];
if(myA == NULL){
printf("NULL\n");
} else {
printf("val : %d\n",myA->a);
}
}
return 0;
}
数组中的所有内容是如何A
初始化的?B
似乎所有的A
都是NULL。如何将它们全部初始化为不为 NULL?
另外,我做多重分配对吗?