鱼C论坛

 找回密码
 立即注册
查看: 2675|回复: 5

两个指针变量相减的问题,求解!

[复制链接]
发表于 2012-1-13 15:16:05 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
两个指针变量指向同一个数组,例:P1指向a[1],P2指向a[4]
P2-P1=4-1=3。
这个3是不是a[3]?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-13 15:27:00 | 显示全部楼层
不是,是一个数,我写了个程序
  1. #include <stdio.h>
  2. main()
  3. {
  4.         int a[10] = {1,2,3,4,5,6,7,8,9,0};
  5.         int *p1 = &a[1];
  6.         int *p2 = &a[4];
  7.         int b;
  8.         b = p2 - p1;
  9.         printf("%d\n", b);
  10. }
复制代码

输出为3
是指两个数组元素间相差几个
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-13 15:32:00 | 显示全部楼层
以后有问题就先自己写程序来验证:P
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-1-13 15:44:14 From FishC Mobile | 显示全部楼层
cmaomao 发表于 2012-1-13 15:32  以后有问题就先自己写程序来验证

我电脑拿去抢救了…准备明年才去买一台,这段时间要拜托各位帮忙解答一下,感鸡不尽。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-13 16:58:43 | 显示全部楼层

是的, p2-p1是地址间的相减, 跟a[1]和a[4]中存放的元素是没关系的。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-15 19:54:06 | 显示全部楼层
925799667 发表于 2012-1-13 15:44
我电脑拿去抢救了…准备明年才去买一台,这段时间要拜托各位帮忙解答一下,感鸡不尽。

这个问题在谭的书上也提到了,自己要认真看
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-10 18:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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