定义指针数组 int * a[10],每个指针指向一块10个Int大小的内存,赋值0-99,并打印,采用函数调用的方式,急

头文件
10 #ifndef __HEAD_H__
11 #define __HEAD_H__
12
13 void(int *a[]);
14
15 #endif
子函数

10 #include<stdio.h>
11 #include<stdlib.h>
12 #include"head.h"
13 void(int *a[])
14 {
15 int i ,j,k;
16 for(;i < 10; i++)
17 {
18 a[i] = (int *)malloc(10 * sizeof(int));
19 for(i = 0;i < 10;i++)
20 {
21 for(j = 0; j < 10; j++)
22 {
23 a[i][j] = k++;
24 printf("%2d",a[i][j]);
25 }
26 printf("\n");
27 }
28
29 }
30 for(i = 0; i < 10; i++)
31 {
32 free(a[i]);
33 }
34 }
主函数
10 #include"head.h"
11 int main(void)
12 {
13 int *a[10] = {NULL};
14 print_array(int *a);
15
16 return 0;
17 }
提示说子函数不能那样写,那应该怎样写形参呢??

 13 void print_array(int *a[10])
 14 {
 15         int i ,j,k;
 16         for(;i < 10; i++)
 17         {
 18                 a[i] = (int *)malloc(10 * sizeof(int));
 19                 for(i = 0;i < 10;i++)
 20                 {
 21                         for(j = 0; j < 10; j++)
 22                         {
 23                                 a[i][j] = k++;
 24                                 printf("%2d",a[i][j]);
 25                         }
 26                         printf("\n");
 27                 }
28 
 29         }
 30         for(i = 0; i < 10; i++)
 31         {
 32                 free(a[i]);
 33         }
 34 }

应该这么写的吧 void print_array(int *a[10])

温馨提示:答案为网友推荐,仅供参考
相似回答