C语言指针——一个小问题
2016-11-24 08:14
169 查看
constint ic=20与int const ic=20一样么?
constint * pi与int const * pi一样么?
务必要记住const 与int哪个写前都不影响语义。
constint ic=20与int const ic=20,它们是完全相同的。
同样,const int * pi与int const * pi也是一样的。
如果定义完:const int *pi=&a后,执行下面操作,
pi=&b
程序会有问题么? 没问题,因为const修饰的是*pi,不是pi,所以pi可以重新赋值。
那么执行下面操作,
*pi=&b
程序会有问题么?有问题,因为你要注意,*pi已经是常量,是不能改变值的。
又来了,如果定义了int *const pi=&a,那么执行下面的操作
pi=&b;
程序会有问题么?有问题,因此pi是常量,不能改变值。
但执行*pi=b,就没有问题。
从上面的例子中我们需要注意,一定要看清楚 const修饰的是谁!!
constint * pi与int const * pi一样么?
务必要记住const 与int哪个写前都不影响语义。
constint ic=20与int const ic=20,它们是完全相同的。
同样,const int * pi与int const * pi也是一样的。
如果定义完:const int *pi=&a后,执行下面操作,
pi=&b
程序会有问题么? 没问题,因为const修饰的是*pi,不是pi,所以pi可以重新赋值。
那么执行下面操作,
*pi=&b
程序会有问题么?有问题,因为你要注意,*pi已经是常量,是不能改变值的。
又来了,如果定义了int *const pi=&a,那么执行下面的操作
pi=&b;
程序会有问题么?有问题,因此pi是常量,不能改变值。
但执行*pi=b,就没有问题。
从上面的例子中我们需要注意,一定要看清楚 const修饰的是谁!!
相关文章推荐
- C语言中一个指针传递问题的分析
- C语言的一个笔试题:指针与数组的问题
- C语言中关于指针,二维数组等的问题,一个有趣的发现
- C语言一个小小的问题引起的对指针的探究。。。
- C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
- c语言指针一个日期的问题
- C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
- 一个指针的问题
- CSDN 上面一个指针问题(以前自己没有弄清)
- 一个关于C语言二维数组问题
- 问一个关于指针的小问题
- 我用c语言写了一个关于商人过河的问题
- 一个关于C语言编程的问题
- 今天遇到的一个函数指针的问题
- 一个简单的C语言问题
- C指针的一个问题
- 一个简单的C语言嵌套问题
- 我用c语言写了一个关于商人过河的问题
- 关于自学C语言的一个问题
- 前两天困扰我的一个关于指针和内存的问题的总结