c++——指针在数组中的应用
来源:互联网 发布:那个软件看火影没广告 编辑:程序博客网 时间:2024/05/16 06:07
#include<iostream>#include<stdlib.h>using namespace std;int main(){ int a[3] = { 1, 2, 3 }; int*p = a;//一维数组名指向数组首元素,指针p指向数组收元素 cout << *p << endl; int*q = &a[0];//指针q指向数组首元素 cout << *q << endl; int*e = a + 2;//指针e指向数组第三个元素 cout << *e << endl; int*w = &a[2];//指针e指向数组第三个元素 cout << *w << endl; cout << a[1] << endl;//以下四种方法均可得到数组的第二个元素 cout << *(a + 1) << endl; cout << p[1] << endl; cout << *(p + 1) << endl; int b[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };//b是一个数组,b[0] b[1] b[2]是他的三个元素,这三个元素又分别都是包含四个元素的数组 cout << b << endl;//b是指向第一个数组元素的指针 cout << &b[0] << endl;//&b[0]=b cout << b + 1 << endl;//b+1是指向第二个元素的指针,是数组指针,类型为int(*)[4] cout << &b[1] << endl; cout << *b << endl;//*b是指第一个数组元素,因第一个数组元素是个数组,所以指针b是一个数组指针,*b则指向第一个数组元素的第一个元素 cout << b[0] << endl;//*b=b[0],b[0]是第一个数组元素,它本身又是一个含四个元素的数组 cout << *(b + 1) << endl;//是第二个数组元素的第一个元素的指针,类型为int* cout << b[1] << endl; cout << *(*(b + 1) + 2) << endl;//是数组a[1]的第三个元素a[1][2] cout << &b << endl; cout << &b + 1 << endl; system("pause"); return 0;}
总结:对于二维数组b
&b的类型为int(*)[3][4]
b+i的类型为int(*)[4]
(b+i)的类型为int
((b+i)+j)的类型为int
*(b+i)=b[i]
((b+i)+j)=*(a[i]+j)=a[i][j]
0 0
- c++——指针在数组中的应用
- C指针在不同需求中的应用
- 函数指针数组在ARM中断中的应用
- 二维数组和二维指针在CUDA中的应用
- c 数组和指针在函数参数中的转换
- 指针的引用——在函数中的巧妙应用
- C语言—指针数组
- C中的数组与指针
- C中的指针和数组
- C语言中的数组指针
- C语言中的指针数组
- C中的指针和数组
- C中的数组和指针
- c语言中的指针数组
- 指针在函数中的应用
- 指针在函数中的应用
- 对线程函数数组、函数指针数组在应用中的一些总结
- C语言中的指针,数组,指针数组, 数组形式参数
- Codeforces Round #363 (Div. 2) B. One Bomb(模拟)
- 基于c++或C的开源搜索引擎
- Android EventBus
- Android基础之Handler机制学习
- 视频录制+压缩+合并+清除沙盒缓存
- c++——指针在数组中的应用
- 成员变量、局部变量与静态变量对比
- 揭秘今日头条推荐10万+
- 最新eclipse整合Struts2.3.29+Hibernate5.2.1+Spring4.3.1(一)Struts篇
- zxing二维码的使用
- 【Deep Learning学习笔记】Efficient Estimation of Word Representations in Vector Space_google2013
- Python学习笔记(二)-NotePad++中文显示问题
- JavaScript学习笔记二十二:class继承
- 肝纤维化及肝硬化主要检测指标