二维数组,为什么printf("a:%p \n",a); printf("*a:%p \n",*a);输出一样
#include<iostream>
using namespace std;
void show( const int *b)
{
cout<<*b<<endl;
}
int main ()
{
int a[3][2]={0},(*ptr)[2],i,j;
ptr=a;
printf("ptr:%p \n",ptr);
printf("a[0][0]:%p \n",&a[0][0]);
printf("a:%p \n",a);
printf("*a:%p \n",*a);
printf("a[0]:%p \n",a[0]);
system("pause");
return 0;
}
printf("*a:%p \n",*a);
printf("a[0]:%p \n",a[0]);
因*a ==a[0],所以输出相同
但为什么
printf("a:%p \n",a);
printf("*a:%p \n",*a);
输出的是同一个值???