您的位置:首页 > 其它

指针常量与常量指针,指针数组与数组指针

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) ++; //可以

         常量指针:指向一个常量的指针,指针本身的值可以变化,但是指针指向那个变量是个常量,常量的值不可以变化。
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个元素的数组的指针。

         
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: