二维数组定义的一般形式是:
例如:
int i,j;
int **a;
// scanf("%d %d", NR, NC); 你也可以今天这一节输入行数,列数,然后
// 动态分配:
a = (int **) malloc(sizeof(int *) * NR);
for (j=0;jNR;j++){
a[j] = (int *) malloc(sizeof(int) * NC);
}
// 假定这里赋初值:
for (j=0;jNR;j++) for (i=0;iNC;i++) {
a[j][i] = (j+1)*100 + i;
//输出数组元素值:
printf("\n");
//释放内存的方法:
for (j=0;jNR;j++) free(a[j]);
free(a);
在C语言中可以用二维数组作为实参或者形参.
①.、函数中用二维数组作为形参,函数声明中可以指定所有维数的大小,也可以省略第1维的维数如:
void?f(int?array[][10]);?//正确
上面的两种二维数组形参表示都是正确的.
void?f(int?array[][]);?//错误
?因为从实参传递来的是数组的起始地址,在内存中按数组排列规则存放(按行存放),而并不区分行和列,如果在形参中不说明列数,则系统无法决定应为多少行多少列,不能只指定一维而不指定第二维,下面写法是错误的:
void?f(int?array[][10]);
可以将如下数组传递给函数f.
以上就是土嘎嘎小编为大家整理的c语言函数中二维数组声明相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!