常/非常变量地址赋给常/非常指针
正确:
A. int a, *p = &a;
B. int a; const int *p = &a;
C. const int a; const int *p = &a;
错误:
D. const int a; int *p = &a;
总结:
对于把变量地址赋值给指针的情况,普通变量地址可以赋给普通指针/常指针,常变量地址可以赋给常指针、不能赋给普通指针。
常/非常变量值赋给常/非常变量
正确:
A. int a, b; b = a;
B. const int a; int b; b = a;
错误:
C. int a; const int b; b = a;
D. const int a; const int b; b = a;
总结:
对于把变量值赋给变量的情况,普通变量值可以赋给普通变量,不能赋给常变量;常变量值可以赋给普通变量,不能赋给常变量。