首页 > 试题广场 >

已知const char * node="ABC";下列语句

[单选题]
已知const char * node="ABC";下列语句合法的是___.
  • node[2] = 'k';
  • *node[2]='k';
  • *node = "xyz";
  • node="xyz";
推荐
D。
const char * node="ABC"。node是一个指针,它指向的内容是const char 类型。node可以指向任何标示符,但它指向的内容是不能被改变的,但是A、B、C三项均改变了它指向的内容。
编辑于 2015-02-02 14:19:05 回复(3)
const与static的修饰技巧
如果const跟着的是类型修饰符,则修饰该符,否则修饰它前面的符。
例如:
const int a; const后面是int则表明a的值不能变。
const int* a; const后面是int则表明a的值不能变。
int const * a; const后面是*,则表面指针的指向不能变。
题目中const char * node="ABC";表明char不能变,即“ABC”不能改变,但是指针的指向可以变。


发表于 2017-09-03 11:59:29 回复(7)
答案:D
const char * node="ABC"
这是一个指向字符常量的指针,也就是 *node 的值不能被改变

A, node[2] = 'k';更改coust类型的值,编译不通过
B,*node[2]这种写法本身就是错误的
C,*node = "xyz"; 前面说了,*node的值不能改变
D,node是指针类型,node指向的内容不能改变,但是node指针本身可以改变
   node="xyz";这里是让node指向“xyz”的首地址

发表于 2015-01-17 15:11:24 回复(1)
左定值右定向,这个就是左定植,所以只能改变方向,只有D选项是改变他的方向,A、B、C改变了他的内容
发表于 2020-11-22 10:00:03 回复(1)
D.   AC的错误都一样,就是既然已经声明const 变量,即不能通过node指针来修改这个值.  B根本就是语法错误,无意义     D是正确的,因为node指向的值是常量,但是node可以指向别的地方,所以它指向"xyz"是可以这样做的
发表于 2015-04-12 16:28:50 回复(1)
const char *node = "ABC", node是一个指向常量的指针,其所指内容不可改变,但是该指针可以指向其他内存。与char *const node区别,这个是一个指针常量,该指针所指内容可以改变,但是该指针的指向不能改变。const char *const node是一个指向常量的常量指针,该指针所指内容和指向均不可改变。
发表于 2017-07-12 21:43:15 回复(0)
几个常见容易混淆的指针:
char *  const  cp  ,从右往左读,*读为 pointer to   cp is a const pointer to char ,即指针常量,指针指向不能变
const  char* cp , cp is a pointer to const char ,即指向字符常量的指针,所指的内容不能变
发表于 2017-03-25 10:56:32 回复(0)
学习两年了,每次都错,不下十次 没救了
发表于 2019-12-12 18:07:50 回复(0)
const在前内容不能变,const在指针后则指针不能变
发表于 2014-10-25 00:26:02 回复(0)
常指针可以重新指向新字符串,但所指字符串内容不能被改变
发表于 2019-07-28 18:06:19 回复(0)
const char *c 指向常量的指针,但是指针本身不是常量,这个指针也可以指向一般变量,但是不能通过此指针修改常量的值
发表于 2018-08-29 13:24:58 回复(0)
char *p = "nihao";
  
  p就是字符串开始的地址。字符串是只存字符的数组。
发表于 2017-06-26 21:01:25 回复(0)
C选项是不合法的,就算node不是const类型也不合法,因为左右的类型不匹配
发表于 2015-09-06 11:51:31 回复(0)
constant char *p1 = "ABC"; p1是指向constant常量的指针;指向constant常量的指针,不是指给它传址的变量必须是constant常量,而是指任何变量传址给它,它都不能间接修改该变量的值,故ABC选项错误,D选项改变指针本身的内容是合法的,故D正确,。
发表于 2015-01-17 17:55:40 回复(0)
就一个口诀,常量指针常量能改指针不能改!指针常量指针能改常量不能改。
发表于 2022-12-01 12:06:55 回复(0)
这是一个常量指针,指针的指向可以改,但是指针指向的地址里的值不能改
发表于 2022-09-14 21:02:53 回复(0)
指针常量:指向的内存是常量,指针本身是普通变量,所以指针可以重新赋值,但内存不能更改;
常量指针:指针本身是常量,不能重新赋值,但指向的内存可以更改

发表于 2023-08-17 16:26:42 回复(0)
星号为界 const左定值右定向
发表于 2022-11-16 10:20:05 回复(0)
A是错的等式❌ B和C改变了指向值❌ D改变了指向
发表于 2022-04-05 20:17:33 回复(0)
node是一个指针,根据左定值右定向,d选项是可以改变指针指向的。abc均改变了值
发表于 2021-02-06 11:50:02 回复(0)
<p>C表示改变了常量内容,错误,D表示改变指针指向的常量</p>
发表于 2020-12-14 19:37:27 回复(0)