C语言 指针与const

const 修饰变量,使得这个变量不能被修改。

const 对指针具有两种修饰的方式,且两种方式所限制的情况不同。

当const在 * 的左边

 const int * p =&n; 或者 int const * p =&n;

当const在*的左边时,指针变量p所指向的空间内容无法被修改。

* p = 0;无法使用且会弹出警告。

 当const在 * 的右边

 int* const p = &n;

当const在*的右边时,指针变量p内所存储的地址编号无法改变。

p = & m ;无法使用且会弹出警告。

 结论:

1.const放在*的左边,限制的是指针指向的内容,意思是不能通过指针来修改指针指向的内容,但是指针变量本身是可以修改的。

2.const放在*的右边,限制的是指针变量本身,意思是不能修改指针变量的指向,但是可以修改指针指向的内容。

猜你喜欢

转载自blog.csdn.net/2301_76445610/article/details/132194794