鱼C论坛

 找回密码
 立即注册
查看: 1118|回复: 8

[已解决]指针取数组地址

[复制链接]
发表于 2020-6-16 23:23:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
int a[10] = { 1,3,55,4,5,6,7,8,9,10 };
        int *p = a;
        printf("%d\n", *p + 1);
        printf("%d\n", *(p+1));
        printf("%d\n", p + 1);
        *p + 1和*(p+1)还有p+1本质区别是什么
最佳答案
2020-6-17 11:02:28
幸好看了一下你的代码。万幸,差点说错了。。
*取值。p为地址。
*p+1即,p地址中的值,加上1作为结果
*(p+1),p地址加上一个地址。即p的下一个地址,取它的值。
p+1就是地址的下一个地址。是按地址加的。该地址不是加一字节,而是加p类型的长度
假如p是整型地址,它的地址中的值占四个字节,那么,加1就是四个字节后的。这个1也代表了有四个字节
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-16 23:53:45 | 显示全部楼层

回帖奖励 +2 鱼币

p是数组第一个元素的地址
*p是数组第一个元素
所以,*p+1是第一个元素+1,也就是a[0]+1
*(p+1),地址后移一个int长度,所以就是a[1]
p+1就是地址值+1啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 23:58:33 | 显示全部楼层
Cute_Traver_Cat 发表于 2020-6-16 23:53
p是数组第一个元素的地址
*p是数组第一个元素
所以,*p+1是第一个元素+1,也就是a[0]+1

p+1指向哪里呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-17 00:30:42 | 显示全部楼层

回帖奖励 +2 鱼币



假如p的地址是 0x123 那么p+1就是0x124了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-17 01:52:00 | 显示全部楼层
chxchxkkk 发表于 2020-6-17 00:30
假如p的地址是 0x123 那么p+1就是0x124了

p+1所指向的元素又是哪个呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-17 07:40:35 | 显示全部楼层

回帖奖励 +2 鱼币

c or c++?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-17 08:32:22 | 显示全部楼层

回帖奖励 +2 鱼币

chxchxkkk 发表于 2020-6-17 00:30
假如p的地址是 0x123 那么p+1就是0x124了

这样说不对,把一个指针+1就是指向数组的下一个地址(如一个int指针,原来是0x123,+1就是0x127了(int用四个字节存储))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-17 11:02:28 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +2 鱼币

幸好看了一下你的代码。万幸,差点说错了。。
*取值。p为地址。
*p+1即,p地址中的值,加上1作为结果
*(p+1),p地址加上一个地址。即p的下一个地址,取它的值。
p+1就是地址的下一个地址。是按地址加的。该地址不是加一字节,而是加p类型的长度
假如p是整型地址,它的地址中的值占四个字节,那么,加1就是四个字节后的。这个1也代表了有四个字节
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-17 19:28:40 | 显示全部楼层
405794672 发表于 2020-6-17 11:02
幸好看了一下你的代码。万幸,差点说错了。。
*取值。p为地址。
*p+1即,p地址中的值,加上1作为结果

好的,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 15:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表