结构体与指针

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<malloc.h>
 4 
 5 struct data
 6 {
 7     int num;
 8 };
 9 void main()
10 {
11     struct data(*p)[10] = malloc(sizeof(struct data) * 90);// 动态分配二维数组
12     int k = 0;
13     for (int i = 0; i < 9; i++)
14     {
15         for (size_t j = 0; j < 10; j++)
16         {
17             printf("%4d",(p[i][j]).num=k++);
18         }
19         printf("\n");
20     }
21 
22     system("pause");
23 }
24 
25 ////////////////////////////////////////////////////////////////////////////
26 
27 void main()
28 {
29     struct data **pp;//分块数组
30     pp = malloc(sizeof(struct data *) * 10);//先分配指针数组
31     int n = 0;
32     for (int i = 0; i < 10; i++)
33     {
34         pp[i] = malloc(sizeof(struct data) * (i + 3));//每一个指针分配内存
35         for (struct data *newp = pp[i]; newp < pp[i] + (i + 3); newp++)
36         {
37             printf("%d  ", newp->num = n++);
38         }
39         printf("\n");
40     }
41 
42     system("pause");
43 }
44 
45 ////////////////////////////////////////////////////////////////////////
46 
47 void main()
48 {
49     struct data *p = alloca(sizeof(struct data) * 10);
50     int m = 0;
51     for (struct data *newp = p; newp < p + 10;newp++)
52     {
53         printf("%d ",newp->num = m++);
54     }
55     system("pause");
56 }

 

posted on 2015-05-18 22:24  Dragon-wuxl  阅读(126)  评论(0)    收藏  举报

导航