社区
C语言
帖子详情
指针问题!达人进!
kkcncry
2004-09-24 11:13:50
main()
{
short *p, *q;
short ar[10]={0};
p = q = ar;
p++;
printf("%5d", p-q); ????????不理解
printf("%5d", (char*)p - (char*)q);????????不理界
printf("%5d", sizeof(ar)/sizeof(*ar));
}
假设sizeof(short)==2
输出结果为1 2 10
请高人指点!
...全文
164
6
打赏
收藏
指针问题!达人进!
main() { short *p, *q; short ar[10]={0}; p = q = ar; p++; printf("%5d", p-q); ????????不理解 printf("%5d", (char*)p - (char*)q);????????不理界 printf("%5d", sizeof(ar)/sizeof(*ar)); } 假设sizeof(short)==2 输出结果为1 2 10 请高人指点!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Hellboy
2004-09-24
打赏
举报
回复
回复人: Wolf0403(完美废人)(潜伏期。。。) ( ) 信誉:110 2004-09-24 11:30:00 得分: 0
顺便说说,用 sizeof 求一个数组的大小不是一个好习惯……
应该是个好习惯才对!!!
一叶还真不知秋
2004-09-24
打赏
举报
回复
p=q=ar;//p和q都指向数组ar的第一个元素。
p++;//p往向移一个元素(一个整数型元素,两个字节)
p-q表示p在q的后面第多少个元素,p只加了一次,当然是一个
(char *)p - (char * )q//把p、q都看成是字符指针,直接计算p和q相差多少个字符,是2
sizeof(ar)/sizeof(*ar);//sizeof(ar)为10个整型,sizeof(*ar)为一个整型的长度。
Wolf0403
2004-09-24
打赏
举报
回复
顺便说说,用 sizeof 求一个数组的大小不是一个好习惯……
darkstar21cn
2004-09-24
打赏
举报
回复
p,q是short*,p++就是把地址向前移动了一个short的空间(而一个short占2Byte),所以1(short) = p - q;
而char占1Byte,2(char) = p - q;
hcj2002
2004-09-24
打赏
举报
回复
p = q = ar;
p++;
所以 p-q = 1
pacman2000
2004-09-24
打赏
举报
回复
p-q是p在数组里领先q多少个数组元素。
(char*)p-(char*)q是把这个看成char*数组。
因为本来是short数组,2byte,所以p-q是1,(char*)p-(char*)q是2
数组和
指针
的艺术,就是艺术!
资源整理于一位达人的空间,版权仍然归他所有,需要的就下载吧!
指向对象的C++
指针
、对象的大小
课程有以下六大特色: 一、业内独家专业手游开发网络培训课程 二、注重手机游戏开发基础,全程项目贯穿 三、Android4.3游戏开发基础、Cocos2D-X,...六、经典游戏重现(捕鱼达人、斗地主、天天酷跑、围住神经猫)
数据结构实验中
指针
相关
问题
.pdf
#资源达人分享计划#
用C语言中的
指针
处理数据结构中的链表的方法.pdf
#资源达人分享计划#
基于变电站巡检机器人的
指针
式仪表读数识别.pdf
#资源达人分享计划#
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章