const和指针

来源:百度知道 编辑:UC知道 时间:2024/06/11 00:28:58
(a) int i;
(b) const int ic;
(c) const int *pic;
(d) int *const cpi;
(e) const int *const cpic;
这些表达对吗?哪些需要初始化? 谢谢
(a) int i = -1;
(b) const int ic = i ;
(c) const int *pic = ⁣
(d) int *const cpi = ⁣
(e) const int *const cpic = ⁣
这些呢?

只有a对,因为常量一经定义就不可修改,所以必须在定义时进行初始化。
b定义一个int型常量
c定义一个指向int常量的指针,指针本身是变量,指针指向的内容是常量,不可修改
d定义一个指向int变量的指针常量,指针指向不可修改
e定义一个指向常量的常指针,指针是常量,指针所指向的内容也是常量.
请指正....

问题补充里的只有d错。
类型不同,不能赋值,可以改成:
int *const cpi = (int *const)⁣