指针常量与常量指针,指针数组与数组指针
2016-07-28 21:27
330 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span style="font-size: 14px;"> </span><span style="font-size:14px;">指针常量与常量指针,指针数组与数组指针,这两组概念比较容易混淆,所以写下。</span></span>
首先说下指针常量和常量指针。
指针常量:指针指向的地址不变,即指针本身的地址值不能变化,即指针必须指向一个变量,但是指针指向的变量的值可以变化。声明如下:
int a = 0;
int *const p = &a;
p++; //不可以
(*p) ++; //可以
常量指针:指向一个常量的指针,指针本身的值可以变化,但是指针指向那个变量是个常量,常量的值不可以变化。
再说下指针数组和数组指针。
指针数组: 本质是数组,数组中的每个元素都是指针变量,指向一个地址。
<pre name="code" class="cpp">int *a[4];a[i]; //一个指向int数据的指针*a[i]; // 具体指向的数据值
数组指针:指向一个数组的指针,本质是指针,指向一个数组的首地址。
int (*a)[4];//定义一个数组指针,指向含4个元素的一维数组。 表示一个指向4个元素的数组的指针。
首先说下指针常量和常量指针。
指针常量:指针指向的地址不变,即指针本身的地址值不能变化,即指针必须指向一个变量,但是指针指向的变量的值可以变化。声明如下:
int a = 0;
int *const p = &a;
p++; //不可以
(*p) ++; //可以
常量指针:指向一个常量的指针,指针本身的值可以变化,但是指针指向那个变量是个常量,常量的值不可以变化。
const int a = 0; //a是一常量 const int *p = &a; p++; //可以 (*p)++; //不可以
再说下指针数组和数组指针。
指针数组: 本质是数组,数组中的每个元素都是指针变量,指向一个地址。
<pre name="code" class="cpp">int *a[4];a[i]; //一个指向int数据的指针*a[i]; // 具体指向的数据值
数组指针:指向一个数组的指针,本质是指针,指向一个数组的首地址。
int (*a)[4];//定义一个数组指针,指向含4个元素的一维数组。 表示一个指向4个元素的数组的指针。
相关文章推荐
- 清除浮动
- HDU 5773 The All-purpose Zero (LIS)
- poj1961 Period
- ubuntuQQ怎末安装
- WindowManager类使用详解——用户首次打开APP的使用教学蒙板效果实现
- spark 集合交集差集运算
- 项目中 poi 导出 出现html特殊符号的实体 (已解决)
- phonegap笔记 -返回上一页并刷新代码整理
- std::cout输出unsigned char 型数据
- Linux之History的使用
- barplot条形图的图例位置设置
- 无穷递归
- 二元多项式
- POJ 2236(简单并查集)
- IntelliJ IDEA 从零开始创建一个项目
- 棋盘问题(经典DFS)
- 关于index
- 使用C++委托实现全方向的摇杆
- atom插件推荐
- 5分钟搞定内存字节对齐