您的位置:首页 > 其它

得到数组的最后一个数的趣味实现

2014-03-26 12:06 162 查看
利用指向该数组的指针存放的值与指向该数组首元素的指针存放的值是相等的,即数组的首地址就是数组首元素的首地址,但是这个数组变量的值等于数组首元素的首地址,为什么数组变量的值要等于数组首元素的地址,目的是方便提取数组元素的数据。(a[i]=*(a+i))

#include <iostream>
using namespace std;

int main()
{
cout<<"得到数组最后一个数的趣味实现方案一:"<<endl;
const int num=5;
int a[num]={1,5,2,6,4};
int* p=(int*)(&a); //&a指向数组a, p指向数组首元素
cout<<p[num-1]<<endl;       //为4
cout<<*(p+num-1)<<endl;     //为4
return 0;
}


#include <iostream>
using namespace std;

int main()
{
cout<<"得到数组最后一个数的趣味实现方案一:"<<endl;
const int num=5;
int a[num]={1,5,2,6,4};
int* p=(int*)(&a+1); //&a+1指向地址为(&a+1)的int[5]的数组,p指向数组最后一数的下一个位置
cout<<p[-1]<<endl;       //为4
cout<<*(p-1)<<endl;      //为4
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: