#include<stdio.h>
void main()
{
int a[3][4] = { {1,2,3,4},{11,22,33,44},{111,222,333,444} };
int s = 0, b = 0;
do
{
printf("请输入s\n");
scanf_s("%d", &s);
} while (s > 3);
do
{
printf("请输入b\n");
scanf_s("%d", &b);
} while (b > 3);
printf("a[%d][%d]=%d",s,b,a[s][b]);
}
如果有一个实参数组,想在函数中改变此数组中的元素的值,实参与形参的对应关系有以下4种情况
1,形参和实参都用数组名
f(a,10)
void f(int x[],int n)
2,实参用数组组名,形参用指针变量
f(a,10)
f(int*a,int n)
3,实参形参都用指针变量
f(p,10)
void f(int *x,int n)
4,实参为指针变量,形参为数组名
f(p,10)
f(int x[],int n)
用指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素
*(p+i)+j是二维数组i行j列
((p+i)+j)则是i行j列元素的值
二维数组指针变量说明的一般形式
类型说明符(指针变量名)[长度]
其中“类型说明符”为所指数组的数据类型。“”表示其后的变量是指指针类型。“长度”表示二维数组分解为多个一维数组时,一维数组的长度,也就是二维数组的列数。