const a 和const*a
时间: 2023-09-19 12:12:35 浏览: 44
const a 和 const*a 的区别是什么?
const a 表示 a 是一个常量,其值不能被修改。而 const*a 表示 a 是一个指向常量的指针,即指针 a 所指向的地址可以变,但是所指向的值不能被修改。
举个例子来说明,假设有 int b = 3 和 int c = 5。对于 const a,int const *a = &b,这表示指针 a 所指向的地址可以变,但是所指向的值不能变,即 *a 的值不能修改,但是可以通过 b 来修改。所以 *a 的输出为 3,当 b 被修改为 6 后,*a 的输出也变为 6。
而对于 const*a,int *const a = &b,这表示指针 a 所保存的地址是不可以变的,即 a 所指向的地址不能被修改,但是这个地址对应的值可以变。所以 *a 的输出为 3,当 b 被修改为 6 后,*a 的输出仍然为 6。
总结来说,const a 是一个常量,其值不能被修改;const*a 是一个指向常量的指针,指针的值不能被修改,但是所指向的值可以被修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [const* 和 *const](https://blog.csdn.net/qq_32623363/article/details/87813484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]