const、指针 (1)

一:

int a = 1;

int b = 2;

const int* p = &a;    //p的值可改,p所指向的值不可修改,

const int *p = &a;    //p的值可改,p所指向的值不可修改,

int* const p = &a;    //p的值不可改,p所指向的值可修改,

int const *p = &a;    //p的值可改,p所指向的值不可修改,

 

二:

int* p int *p本质上来说是没有区别的,要硬说区别的话那也只是书写习惯的区别。但是一般建议使用后者来书写,因为int* p1,p2;int *p1,*p2是不一样的。

(1)int* p1,p2;

p1 = &a;

//p2 = &b;//error不能将"int*"类型的值分配到"int"类型的实体

p2 = b;

 

(2)int* p1,*p2;

p1 = &a;

p2 = &b;

//p2 = b;//不能将"int*"类型的值分配到"int"类型的实体

 

三:int* p[2] 与 int (*p)[2] 的不同

     http://blog.youkuaiyun.com/collision/article/details/20448

 

四:

数组指针和指针数组的区别

http://www.cnblogs.com/mq0036/p/3382732.html

 

const的用法,特别是用在函数前面与后面的区别!

       http://blog.youkuaiyun.com/zcf1002797280/article/details/7816977

 

四:

int main()
{
    const int i = 0;
    int* j = (int*)&i;
    *j = 1;
    int t = i + *j;
    printf("%d,%d  %d\n",i,*j,t); system("pause"); return 0; }

通过指针修改const变量

https://blog.youkuaiyun.com/taotaotheripper/article/details/23712253

转载于:https://www.cnblogs.com/pureyes-cyl/p/6866316.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值