const int *a and int *const a and const int * const a (摘抄精彩回答)
来源:互联网 发布:数据库第六版课后答案 编辑:程序博客网 时间:2024/04/30 02:36
关键问题点:const 属于修饰符 ,关键是看const 修饰的位置在那里
1、const int *a
这里const 修饰的是int,而int定义的是一个整值
因此*a 所指向的对象 值 不能通过 *a 来修改,但是 可以重新给 a 来赋值,使其指向不同的对象
eg:
const int *a = 0;
const int b = 1;
int c = 1;
a = &b //ok! 额外:注意不能通过a 来修改 b值
a = &c //ok! 额外:虽然c本身不是一个常量
*a = 2 //erro! 为题就在这里,不能修改通过 *a 所指向的对象值,最后赋值得对象是c,因此不能通过*a 来修改c值。
2、int *const a
这里const修饰的是 a ,a代表的是一个指针地址
因此不能赋给a其他的地址值,但可以修改a指向的值
这有点和cont int *a相反的意味,例子就不说了
3、至于int const *a 和 const int *a 的意义是相同的 他们两个的作用等价
补充:
4、const int * const a
这个代表a所指向的对象的值以及它的地址本身都不能被改变
关于const的点滴补充:
1、const 对象的地址只能赋值给指向const 对象的指针
2、指向const 对象的指针可以 被赋 以 一个非const 对象的地址
3、指向const 得指针常被用作函数的形式参数,保证被传递给函数的实际对象在函数得实际对象在函数中不会被修改
4、常量在定义后就不能被修改,所以它必须被初始化。未初始化的常量定义将导致编译错误(上面都是在说明const得问题,所以没有赋值,实际语句中要赋值的)
- const int *a and int *const a and const int * const a (摘抄精彩回答)
- const int *a and int *const a and const int * const a (摘抄精彩回答)
- const int *a and int *const a and const int * const a 的区别
- const int *a and int *const a and const int * const a
- const int *const A;
- const int a; int const a; const int *a; int * const a; const int * const a;
- const int *a, int const *a,int * const a
- const int a; int const a; const int *a; int * const a; int const * a const; 之间的区别?
- const int a; int const a; const int *a; int * const a; int const * a const; 之间的区别
- int * const a, 和 const int* a,const PInt a;
- const int a; int const a; const int *a; int * const a; int const * const a ; const int * const 之间的区别
- const int *a与int *const a,const int *const a的区别
- int const *a, const int *a,const int *const a的测试
- 关于const的问题 const int *a; int const *a; int *const a; 的区别
- const int *a与int *const a,const int *const a的区别
- const int a与int const a的区别
- const int *a 与int *const a的区别
- const int *a 与 int *const a的区别
- 串口通信
- 看看System类的toString是什么
- (虚拟机配置)Linux客户机用NAT方式上网
- C++ 智能指针详解
- 菜鸟博客第一弹
- const int *a and int *const a and const int * const a (摘抄精彩回答)
- usb-skeleton.c 之00----起步usb骨架程序!!!
- 期待自己做得越好
- 最强世界杯大片
- 写给自己
- windows ADAM
- flash全屏代码
- 沿着curve画cylinder
- usb-skeleton.c 之 01--首先整体欣赏欣赏usb-skeleton.c 多的了得!!