二维数组与二级指针
- 二维数组传参时不可退化成二级指针,但是可以进行如下~~骚~~操作
#include<iostream>
using namespace std;
void f(char **p){
for(int i=0;i<10;++i){
for(int j=0;j<10;++j) cout<<(int)(*(p[i]+j))<<" ";
cout<<endl;
}
}
char *a[10];
char b[10][10];
int main(){
for(int i=0;i<10;++i)
for(int j=0;j<10;++j) b[i][j]=i*10+j;
for(int i=0;i<10;++i) a[i]=b[i];
char **p=a;
f(p);
return 0;
}
所以说指针数组的数组名应该也是个指针。
按理来说二维数组的数组名也是个指向指针数组的指针。~~但是就是不能直接传参给二级指针~~