C++一维数组和指针的关系总结
来源:互联网 发布:mysql 最小值 编辑:程序博客网 时间:2024/05/01 10:48
对于数组int a[10];
a表示数组的第一个元素的地址,即&a[0];
如果使指针p,指向数组的首元素,可以进行操作:
int * p=a;
或者
int *p=&a[0];
那么p++,是指向数组中的先一个元素,即a[1];
此时*p则是a[1]中所放的值。
此时,a[i]=p[i]=*(a+i)=*(p+i)
下面举一个例子;
直接用a[i]来输出
#include<iostream>using namespace std;int main(){int a[10]={1,2,3,4,5,6,7,8,9,10};cout<<"Please input 10 intergers: "<<endl;int i=0;for(i=0;i<10;i++)cout<<a[i]<<" ";cout<<endl;return 0;}
用*(a+i)来输出
#include<iostream>using namespace std;int main(){int a[10]={1,2,3,4,5,6,7,8,9,10};cout<<"Please input 10 intergers: "<<endl;int i=0;for(i=0;i<10;i++)cout<<*(a+i)<<" ";cout<<endl;return 0;}
用*(p+i)来输出
#include<iostream>using namespace std;int main(){int a[10]={1,2,3,4,5,6,7,8,9,10};cout<<"Please input 10 intergers: "<<endl;int i=0;int * p=a;for(i=0;i<10;i++)cout<<*(p+i)<<" ";cout<<endl;return 0;}
关于*p++
由于++和*的优先级相同,结合方向是自右而左,因此它等价于*(p++)。作用是:先得到p指向的变量的值(即*p),然后再使指向p的值加1.
#include<iostream>using namespace std;int main(){int a[10]={1,2,3,4,5,6,7,8,9,10};cout<<"Please input 10 intergers: "<<endl;int i=0;int * p=a;while(p<a+10){cout<<*p++<<"\t";}cout<<endl;return 0;}
等价于
#include<iostream>using namespace std;int main(){int a[10]={1,2,3,4,5,6,7,8,9,10};cout<<"Please input 10 intergers: "<<endl;int i=0;int * p=a;while(p<a+10){cout<<*p<<"\t";p++;}cout<<endl;return 0;}
*p++等价于*(p++);而*(++p)表示先使p+1,再取*p.
#include<iostream>using namespace std;int main(){int a[10]={1,2,3,4,5,6,7,8,9,10};cout<<"Please input 10 intergers: "<<endl;int i=0;int * p=a;while(p<a+10){cout<<*(++p)<<"\t";}cout<<endl;return 0;}
运行上面的程序,结果将输出a[2]到a[11]的值,其中a[11]并没有定义。
- C++一维数组和指针的关系总结
- 对C语言一些个人见解系列:指针和一维数组的关系
- 郝斌的C语言基础 131-133 一维数组和指针关系
- C/C++ --数组和指针的关系
- C语言中指针数组和数组指针的关系
- 指针和一维数组关系
- c语言中 指针和一维数组 简要总结
- 一维数组与指针的关系
- 征服C指针之数组和指针的微妙关系
- 第十章 数组和指针(数组和指针的关系,指针操作)总结 140518
- 指针数组和数组指针的关系
- c 多维数组 指针关系总结
- [测试]关于一维数组和二维数组与指针的某些关系
- 关于指针和数组的关系,一点小小的总结
- C 指针和一维数组
- C语言 指针和一维数组
- C语言--指针和一维数组
- 二维数组与一维数组指针变量的关系
- Java数据库连接
- Java的执行原理和JVM
- 人生哲理
- mac下移动硬盘不能往里边拷贝东西的解决办法
- UNIX网络编程——套接字选项(SO_REUSEADDR)
- C++一维数组和指针的关系总结
- jQuery Ajax全解析
- 【Oracle】-【体系结构-LGWR】-LGWR的一些理解
- 百度自定义地图控件
- Struts2中field级别错误导致action无法使用的问题
- NOJ 212题K尾相等数
- TortoiseSVN 打开出现“系统找不到指定的路径”
- 渗透课程笔记
- Win 7重装小记