首页 > 代码库 > const、指针 (1)

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.csdn.net/collision/article/details/20448

 

const、指针 (1)