一、形参是数组,实参是数组
#include<iostream>
using namespace std;
void display(int a[][4],int n){
for(int i=0;i<n;i++){
for(int j=0;j<4;j++){
cout<<a[i][j]<<" ";
}
cout<<"\n";
}
}
int main(){
int a[3][4] = {1,3,5,7,9,11,13,15,17,19,21,23};
display(a,3);
return 0;
}
二、形参是指针、实参是指针
#include<iostream>
using namespace std;
void display(int (*p)[4],int n){
for(int i=0;i<n;i++){
for(int j=0;j<4;j++){
cout<<*(p[i] + j)<<" ";//使用
cout<<*(*(p+i) + j)<<" ";//更普遍使用
}
cout<<"\n";
}
}
int main(){
int a[3][4] = {1,3,5,7,9,11,13,15,17,19,21,23};
int (*p)[4] = a;//创建、赋值
display(p,3);
return 0;
}
三、
#include<iostream>
using namespace std;
int main(){
int a[3][4] = {1,3,5,7,9,11,13,15,17,19,21,23};
int *p = a[0];
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
cout<<*p<<" ";
p++;
}
cout<<"\n";
}
return 0;
}
2.遍历二维字符数组
#include<iostream>
#include<string.h>
using namespace std;
int main(){
char str[3][10] = {"China","Korea","Japan"};
char (*p)[10] = str;//创建、赋值
for(int i=0;i<3;i++){
cout<<*(p+i)<<" ";//使用
}
return 0;
}