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

【charconst* char】char **const p const char **p char *const *p

C语言里
const char **p
char *const *p
char **const p

看变量声明的时候应该从右至左看,以
char *const *p
为例:
先看从右至左第一个符号*,这表明变量p是指针,再看第2个符号const,它修饰的是*p,*p表示p指向的内容,所以,p指向的内容是常量,下一个符号是*,这就表示该常量为指针,然后是char,就表示指向的内容是char

char *const p;与 const char * p;的区别

前者定义P为常量,即只能单向赋值一次,P++展开为p=p+1,重复赋值给常量,出错,后者P为地址变量,地址变量是指向该变量的存储地址值如:4B3F6A,不能赋给一个字符值(字符相当于ascii表中对应的整数)如强制赋值,会把原地址变量P变为一个两位数的整数,造成地址指针溢出。而p++,则表示把该地址变量向下一个存储单元移动一位,如4B3F6A到4B3F6B.所以合法。

红字部分是否会造出程序跑飞一种可能?

const char * p 和 char const * p 是一个意思,都是p所指向的变量的值不能改变,例如:
const char ch = 'a';
const char* p = &ch;
*p = 'b';   //这样是错的

char* const p,意思是p所指向的地址是不能改变的,例如:
char* const p = &ch1;
p = &ch2;  //这样是错的 
 

相关文章:

  • 【static、extern、头文件】static、extern、头文件的一点总结
  • 【strstr()函数的局限】strstr()检测不到存在的字符/数据/strcmp, strncmp和memcmp
  • 【ZIGBEE资料】zigbee资料下载
  • 【指针有效性】指针有效性的有效性检测的必要性!!
  • 【GPRS透明传输】GPRS透明传输
  • 【GPRS拨号错误】GPRS 某条指令一直ERRO
  • 【IAR编译和单片机】IAR编译和单片机的一些积累
  • 【C++】C++获取系统日期时间
  • 【单片机重启】MSP430重启/频繁重启/跑飞 原因分析
  • 【堆和栈的区别】堆heap 和栈stack有什么区别(代码区、常量区、静态区(全局区)、堆区、栈区)...
  • 【MODBUS】 协议
  • 【单机片调试】开发调试MSP430 遇到的问题总结
  • 【单片机程序和RAM】程序在RAM中调试的运行方式程序固化后运行方式
  • 【关于单片机的N多问题】关于单片机的N多问题
  • 【volatile关键字】 详解C中volatile关键字(IAR 优化等级问题)
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • android 一些 utils
  • CSS 专业技巧
  • javascript从右向左截取指定位数字符的3种方法
  • LeetCode18.四数之和 JavaScript
  • nfs客户端进程变D,延伸linux的lock
  • Python十分钟制作属于你自己的个性logo
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 跳前端坑前,先看看这个!!
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 一个项目push到多个远程Git仓库
  • Linux权限管理(week1_day5)--技术流ken
  • ​卜东波研究员:高观点下的少儿计算思维
  • #git 撤消对文件的更改
  • #每天一道面试题# 什么是MySQL的回表查询
  • $.ajax()方法详解
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (分类)KNN算法- 参数调优
  • (实战篇)如何缓存数据
  • (四)Controller接口控制器详解(三)
  • (转)负载均衡,回话保持,cookie
  • .apk文件,IIS不支持下载解决
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .net(C#)中String.Format如何使用
  • .net6Api后台+uniapp导出Excel
  • @FeignClient注解,fallback和fallbackFactory
  • @SpringBootApplication 包含的三个注解及其含义
  • @拔赤:Web前端开发十日谈
  • [AI]文心一言出圈的同时,NLP处理下的ChatGPT-4.5最新资讯
  • [Android Pro] Notification的使用
  • [COGS 622] [NOIP2011] 玛雅游戏 模拟
  • [I2C]I2C通信协议详解(一) --- 什么是I2C
  • [IE技巧] 让IE 以全屏模式启动
  • [Java][算法 双指针]Day 02---LeetCode 热题 100---04~07
  • [JavaWeb学习] idea新建web项目