鱼C论坛

 找回密码
 立即注册
查看: 4081|回复: 7

新手求指导,关于指针的问题

[复制链接]
发表于 2013-6-13 22:25:06 | 显示全部楼层 |阅读模式

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

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

x
#include <iostream>
using namespace std;
int main()
{
    int a[6]={5,3,4,1,2,6};
    int  *aptr=a;
    for(int i=0;i<6;i++)
    {
        cout<<a[i]<<aptr[i]<<*(aptr+i)<<*(a+i)<<endl;这一行都代表什么意思,请为我详解下!
    }
    return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-14 11:08:29 | 显示全部楼层
a[i]的不同写法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-14 21:18:36 | 显示全部楼层
:L我想知道输出结果为什么是5555 3333 4444 1111 2222 6666
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-14 21:19:57 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-14 21:47:39 | 显示全部楼层
每次循环输出数组a中的各个元素,那几种的输出意义是一样的,代表同一个值,所以是那样子啦,语言组织的不够明了,望见谅!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-15 10:14:18 | 显示全部楼层
qw30716 发表于 2013-6-14 21:19
我想知道输出结果为什么是5555 3333 4444 1111 2222 6666

除了优先级之外,下标引用和间接访问完全相同。也就是说:
  1. array[i]
复制代码
在实际效果上和
  1. *(array + i)
复制代码
是完全一样的。
因此你的代码中a[i]和*(a+i)相等。aptr[i]和*(aptr+i)相等。
至于*(aptr+i) 与*(a+i)两个相等,这个一看就理所当然的样子,我实在不知道该怎么说了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-15 10:39:19 | 显示全部楼层
观摩学习中
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-15 11:28:46 | 显示全部楼层
已解决,谢了!:lol
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-23 22:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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