69,382
社区成员
发帖
与我相关
我的任务
分享
可能通过指针引用数组元素。假设p已定义为一个基类型为整型的指针变量,并已将一个整型数组元素的地址赋给了它,使它指向某一个数组首元素。
int a[10]={22,3423,55,64,345,2324,566,34553};
int *p = a;
for(int i = 0 ; i < 10 ; i ++)
{
cout<<p[i]<<endl;//这里应该输出它的地址,怎么是输出地址内容呢?
cout<<*(p+i)<<endl;//这句和上句应该差不多吧?*(p[i])可以写成这样吧,或者*p[i]
cout<<*(a+i)<<endl;//
cout<<a[i]<<endl;
}
//兄弟你也说*p指向了数组的首元素
//数组名就是一个const指针,你用数组名进行下标操作可以访问到数组的元素 a[1]
//为什么p[i]不可以了?
//cout<<*(p+i)<<endl;//这句和上句应该差不多吧?*(p[i])可以写成这样吧,或者*p[i]
//你前面一句是对, 这句是和上面一样的效果, 但是后面错了
//*(p[i])可以写成这样吧,或者*p[i]
//我猜了下楼主你的意思是 在取出值然后在进行解引用吧 后者也一样
//但是这样不行你这两种方法都是非法的间接,你可以自己试下
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a[10]={22,3423,55,64,345,2324,566,34553};
int *p = a;
int i;
i = (*p[1]);
}