一:
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"类型的实体
http://blog.youkuaiyun.com/collision/article/details/20448
四:
数组指针和指针数组的区别
http://www.cnblogs.com/mq0036/p/3382732.html
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