Programming 板


LINE

请问各位强者大大 写了一个很小的程式来验证指标变数相减的结果 #include <stdio.h> int main(int argc, char *argv[]){ int *a = (int *)0x1ff1234; int *b = (int *)0x1ff0000; int c = (int )a; int d = (int )b; printf("a = %p\n", a); printf("b = %p\n", b); printf("substract a - b value = %p\n", a - b ); printf("substract c - d value = %p\n",c - d ); return 0; } ================================== 输出结果为 a = 0x1ff1234 b = 0x1ff0000 substract a - b value = 0x48d substract c - d value = 0x1234 小弟愚钝的是为甚麽 a - b 不是 0x1234 呢 不就指标指向的address 相减吗 非常感谢解惑! --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.185.75.196
1F:→ james732:因为它们是int指标,距离相差0x48D个int 114.35.184.77 10/29 03:23
2F:→ james732:0x48D*sizeof(int) = 0x48D*4 = 0x1234 114.35.184.77 10/29 03:24
3F:推 lmr3796:我记得指标相减是未定义的行为吧? 140.112.217.3 10/29 13:21
4F:→ akasan:google "ptrdiff_t" 114.36.169.185 10/30 00:26
5F:→ buganini:有定义啊 指标-指标=整数 140.131.149.15 10/30 12:11
6F:→ buganini:指标+整数=指标 型态变化是这样 140.131.149.15 10/30 12:12
7F:→ buganini:不过据说在某些平台上指标不只是offset 140.131.149.15 10/30 12:12
8F:→ buganini:或是说记忆体位置不是线性的 就不能套用 140.131.149.15 10/30 12:13
9F:推 Favonia:这程式以 C 标准来说完全没定义,不过可能 140.112.30.39 10/30 22:23
10F:→ Favonia:在很多电脑上都会有类似的答案... 140.112.30.39 10/30 22:23
11F:→ Favonia:buganini: C 标准比你想像得龟毛很多 xDDD 140.112.30.39 10/30 22:24
12F:→ buganini:C99, Section 6.5.6 有一些说明 140.131.149.15 11/01 10:18
13F:→ Favonia:buganini: 建议搜寻一下有 "array" 的句子 140.112.30.39 11/01 15:54
14F:→ Favonia:这个程式中的指标都不是源自同一 array 140.112.30.39 11/01 15:54
15F:→ Favonia:自然都没有定义。姑且不谈 printf 的 %p. 140.112.30.39 11/01 15:55
16F:→ buganini:我知道你的意思,指标操作确实有很多隐雷 140.131.149.15 11/01 19:41
17F:→ buganini:像offsetof也是 140.131.149.15 11/01 19:42







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP