void print (int(*arr)[5] , int r,int c)
{
for(int i=0;;i<j;i++){
for(int j=0;j<c;j++){
pritnf("%d",arr[i][j]);
}
pritnf("\n");
}
int main()
{
int arr[3][5]={{1,2,3,4,5},{2,3,4,5,6}{3,4,5,6,7}};
print (arr,3,5); //将数组内容打印出来。 arr是首元素地址,也就是第一行。
return 0;
}
以上数组中打印arr[i][j]是打印数组的常规方式,arr[i]表示第i行。
数组名表示首元素地址。
所以 arr[i] 表示 &arr[i][0]。*(arr+i)==arr[i]。
所以 arr[i][j] 可以写成 *(*(arr+i)+j)。
总结:arr[i]==*(arr+i)
arr[i][j]==*(*(arr+i)+j)