当前位置: 首页 > news >正文

常量指针与指针常量习题(一)

已知const char * node="ABC";下列语句合法的是___.

A   node[2] = 'k';

B  *node[2]='k';

C  *node = "xyz";

D   node="xyz";

D

        这道题目考察了C语言中const char*指针的特性和使用规则。D选项是正确的,因为node是一个指向字符串常量的指针,可以修改指针指向的地址,让它指向新的字符串常量"xyz"。

        分析其他选项的错误原因:

                A错误:node[2]表示访问字符串的第3个字符'C',由于原字符串是常量,不能直接修改其中的字符。

B错误:node[2]是字符'C',而*node[2]试图将字符当作地址进行解引用操作,这是错误的语法。

C错误:*node表示对指针解引用,获取第一个字符'A',不能将一个字符串赋值给单个字符。

        需要注意的是:

  •  const char *node 表示node是一个指向常量字符的指针
  •  字符串常量本身是不可修改的
  •  但是可以修改指针node使其指向其他的字符串常量
  •  这就是为什么D选项node="xyz"是合法的操作

记忆技巧:

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”不能改变,但是指针的指向可以变。

http://www.xdnf.cn/news/1398151.html

相关文章:

  • 每日算法题【二叉树】:二叉树的最大深度、翻转二叉树、平衡二叉树
  • GROMACS 安装:详细教程来袭
  • 上层协议依赖TCP
  • 【系列10】端侧AI:构建与部署高效的本地化AI模型 第9章:移动端部署实战 - iOS
  • pdf转ofd之移花接木
  • 面试 八股文 经典题目 - Mysql部分(一)
  • jsqlparser(六):TablesNamesFinder 深度解析与 SQL 格式化实现
  • Java中使用正则表达式的正确打开方式
  • 在Kotlin中安全的管理资源
  • ⸢ 叁 ⸥ ⤳ 默认安全:概述与建设思路
  • Vue2之axios在脚手架中的使用以及前后端交互
  • MongoDB 聚合管道(Aggregation)高级用法:数据统计与分析
  • destoon8.0根据模块生成html地图
  • Go 语言面试指南:常见问题及答案解析
  • Excel工作技巧
  • 【自然语言处理与大模型】多机多卡分布式微调训练的有哪些方式
  • 【Python】并发编程(一)
  • 网络工程师软考选择题精讲与解题技巧
  • Ubuntu系统下交叉编译Android的X264库
  • 【Qt开发】按钮类控件(一)-> QPushButton
  • 互联网大厂面试:大模型应用开发岗位核心技术点解析
  • LeetCode54螺旋矩阵算法详解
  • MySQL數據庫開發教學(四) 後端與數據庫的交互
  • 【Docker】Docker初识
  • 医院排班|医护人员排班系统|基于springboot医护人员排班系统设计与实现(源码+数据库+文档)
  • flink中 Lookup Join和Interval Join和Regular Join使用场景与对比
  • HTML 核心元素实战:超链接、iframe 框架与 form 表单全面解析
  • Java类加载与JVM详解:从基础到双亲委托机制
  • 基于 Kubernetes 的 Ollama DeepSeek-R1 模型部署
  • Oracle 数据库性能调优:从瓶颈诊断到精准优化之道