首页 > 试题广场 >

下面3段程序代码的效果一样吗?

[单选题]
下面3段程序代码的效果一样吗?
int b;
(1)const int *a = &b;
(2)int const *a = &b;
(3)int *const a = &b;

  • (2)=(3)
  • (1)=(3)
  • (1)=(2)
  • 都不一样
  • 都一样
const在*的左边,则指针指向的变量的值不可直接通过指针改变(可以通过其他途径改变);在*的右边,则指针的指向不可变。简记为"左定值,右定向"。
发表于 2016-06-23 09:33:58 回复(15)
是否一样只要看const出现在 * 的哪边,如果在左边表示被指物是常量,如果在右边表示指针本身是常量。
发表于 2016-05-13 08:09:55 回复(1)
只需要记住const修饰它左边的对象就可以了:int const *a=&b;修饰int;       int *const a=&b;修饰*;
如果const在最左边它才会修饰右边对象:const int *a=&b;修饰int;
发表于 2018-05-14 15:14:58 回复(0)
const在*的哪边,左定值,右定向。
发表于 2017-03-02 21:42:07 回复(2)
const在*前还是后决定了限制的是指针本身还是指向值不可修改
发表于 2020-09-12 23:17:35 回复(0)
左定值右定向
发表于 2017-03-27 17:42:57 回复(0)
若const在*的左边,则表示值是确定的,若const在*的右边,则表示指针指向的方向是确定的。
发表于 2018-11-22 15:58:51 回复(0)
顶层const,const在' * '星号之前,表示指针所指对象是常量,不可以通过指针解引用修改。
底层const,const在' * '星号之后,表示指针本身的值不可变,可以通过指针解引用修改被指对象的值。
发表于 2024-08-01 13:07:52 回复(0)
左定值,右定向
发表于 2022-07-08 12:59:54 回复(0)
Const相对*左定值,右定向
发表于 2022-03-13 17:16:49 回复(0)
const用于修饰左边的字符 如果const位于*的左边 则修饰int 即值 位于*右边 则修饰*即 指针指向
发表于 2022-03-03 18:21:41 回复(0)
左数右指
发表于 2021-12-29 06:29:49 回复(0)
(1)和(2) 中const修饰的是 *a,即就是a指向的地址处的值,这个值不变;
而(3)中const修饰的是a,即就是a指向的地址,这个地址不变
发表于 2021-05-10 20:43:00 回复(0)
<p>左定值 右定向</p>
发表于 2020-09-24 18:27:27 回复(0)
"左定值,右定向"。
发表于 2020-08-07 07:49:02 回复(0)
从右往左, p=p is a, *=pointer to
发表于 2020-02-27 19:23:17 回复(0)
const对变量类型透明
发表于 2019-10-10 16:44:04 回复(0)
把行号看成了选项
发表于 2019-07-17 15:53:49 回复(1)
简记为"左定值,右定向"。
发表于 2018-11-02 16:24:42 回复(0)
左定值右定向
发表于 2017-01-04 19:51:24 回复(0)