int *p=&a[0][0]; 中的*p是什么意思,怎样理解

int*p=&a[0][0];int(*p)[3]=&a[0][0];int*p请问这三行的*p分别是什么意思,用通俗点的比喻讲解下... int *p=&a[0][0];
int (*p)[3]=&a[0][0];
int *p
请问这三行的*p分别是什么意思,用通俗点的比喻讲解下
展开
 我来答
百度网友43ff25d
2012-06-07
知道答主
回答量:11
采纳率:0%
帮助的人:7.8万
展开全部
int *p
定义*p是一个指针变量(指向int型);

int *p=&a[0][0];
这句话的意思是:
定义了一个名p指向int型的指针变量
并初始化 把数组a[0][0]的首地址赋值给指针变量p

int (*p)[3]=&a[0][0];
定义了 指向包含3个一维数组的指针变量
p为指针变量 ;指向包含3个一维数组
p+1表示指向3维数组的第一行的指针
*(p+i)+j表示i行j列元素的地址
*(*(p+i)+j)表示i行j列元素的值

谢谢 希望能帮到你
wooden954
推荐于2018-04-05 · TA获得超过1万个赞
知道大有可为答主
回答量:6135
采纳率:93%
帮助的人:788万
展开全部
int *p的含义是指定义p为整型数据的地址指针。
*表示这是一个指针。int 表示指针的数据类型
&a[0][0]表示的是a这个数组第一个元素在内存中的存储地址

int *p=&a[0][0];这段代码会将数组a的第一个元素的内存地址值赋给变量p
假如p的值发生变化,比如p++,执行后,p指针将会指向数组a的第二个元素。
通过*p操作,可以取得p所指地址下的存储内容。如y=*p;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L李念祖
2012-06-08
知道答主
回答量:4
采纳率:0%
帮助的人:8.2万
展开全部
第一行的*p是定义了一个整形的指针并赋值为&a[0][0]
第二行中的是表示定义了一个数组,数组中的元素存放的是指针,并且给数组的第一个元素赋值&a[0][0]
最后一行是定义了一个整形的指针名为p的指针
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式