定义a为共有16个元素的一维字符数组,同时定义p为指向a数组首地址的指针变量的

如题所述

//地址运算符写错

int a[4][5]; //定义数组

int *p = &a[0][0]; //首地址赋值给指针变量p

含有p=A[0][0]的肯定错误,因为p是指针,A[0][0]是第一个元素的值。

p=&A[0][0] 即 &A[0][0]的地址给p。

p=A[0]是正确的,因zhuan为二维数组可以看成多个一维数组,数组名即地址。

A[20][10]看成20个一维的,A[0]...A[19]是每个的地址。

扩展资料:

对变量a的访问有两种方式:

一是直接按地址0x065FDF4H找到a的存储单元,从而对变量a进行访问;

二是按系统为p=&a分配的地址先找到p=&a,然后根据p,&a的值(即变量a地址0x065FDF4H)找到变量a在内存中的存储单元,从而对变量a进行访问。对于前一种访问方式称为直接访问方式,后一种访问方式称为间接访问方式。

参考资料来源:百度百科-指针变量

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-29
char a[16],*p=a;
相似回答