这个问题我纠结了蛮久了,因为需要学习的东西太多,所以没有能好好研究这个。希望这篇文章能够帮助你们。

c动态分配结构体二维数组
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <stddef.h>
 4 
 5 typedef struct LNode {
 6     int F;
 7     struct LNode* next;
 8 }LNode, *LinkList;
 9 int main()
10 {
11     LNode** map = (LNode **)malloc(5 * sizeof(LNode*) ); //分配5个结构体指针空间
12     for (int i = 0; i < 5; ++i) //这里循环对5个指针分配相应的空间
13     {
14         map[i] = (LNode *)malloc(10*sizeof(LNode)); //分配10个节点空间
15     }
16 
17     for (int i = 0; i < 5; ++i)
18         for (int j = 0; j < 10; ++j)
19         {
20             (map[i] + j)->F = j;
21         }
22     for (int i = 0; i < 5; ++i)
23     {
24         for (int j = 0; j < 10; ++j)
25         {
26             printf("%d\t", (map[i] + j)->F);
27         }
28         printf("\n");
29     }
30     return 0;
31 }
示例一:

相关文章: