指针与数组
来源:互联网 发布:淘宝汽车用品店名大全 编辑:程序博客网 时间:2024/05/21 19:48
指针与数组变着花样相互缠绵,搞得众人叫苦不堪,今天就让我来揭开它们的真面目!
指针与数组有以下三种缠绵方式:
1. 指向数组元素的指针
2. 指向数组的指针
3. 指针数组
下面对三种方式进行辨析与举例
首先要注意的是,指针指向一块数据其实包含了两部分信息,一是数据的地址,二是数据的大小,这才有了“指向数组元素的指针”和“指向数组的指针”的区别:他们指向同个地址,但是前者指向的数据的大小是一个数组元素的大小,而后者指向的数据的大小是整个数组的大小。
1. 指向数组元素的指针
int array[2][4];int *p_element = array;// 等价于int *p_element = &array[0][0];
此时p_element指向数组的第一个元素array[0][0];
执行增量计算:
p_element++;
此时p_element指向数组的第二个元素array[0][1];
2. 指向数组的指针(一般用于多维数组)
int array[2][4];int (*p_array)[4];p_array = array;
此时p_array指向一维数组array[0](包含四个元素array[0][0]、array[0][1]、array[0][2]、array[0][3]);
执行增量运算:
p_array++;
此时p_array指向一维数组array[1](包含四个元素array[1][0]、array[1][1]、array[1][2]、array[1][3],它们也可以表示为(*p_array[0]、*p_array[1]、*p_array[2]、*p_array[3]));
3. 指针数组
int a, b, c, d;int *array_p1[4] = {&a, &b, &c, &d};
四个数组元素都是指针,分别指向整型变量a、b、c、d
int array[2][4];int *array_p2[2] = {array[0], &array[1]};
两个数组元素都是指针,分别指向整型变量array[0][0]和array[1][0]
1 0
- 指针:指针与数组
- 指针与指针数组
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 数组指针与指针数组
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组与数组指针
- 指针数组 与数组指针
- 指针数组与数组指针
- 数组指针与指针数组
- 指针数组与数组指针
- 指针数组与数组指针
- 无人机这个创业方向靠谱吗?值得投资吗?
- 安装hadoop
- JDBC元数据操作(一)-- DatabaseMetaData接口详解
- PHP 加密的几种方式
- TreeMap实现原理深度分析
- 指针与数组
- 线程Thread的类的核心方法
- JDBC之Statement,PreparedStatement,CallableStatement的区别
- EditPlus常用操作
- 100道android面试题
- Struts2 版本 区别
- 局域网ping检查【python】
- NC65项目开发阶段性的进展
- Freemarker中遍历List实例