关于单片机中使用char str[]与const char *str的用法区别

关于单片机中使用char str[]与const char *str的用法区别

char strA[]="test_1"

char *strB="test_1"

const char *strC="test_1"

有的朋友在写程序的是一直分不清这几个的区别,博主开始在使用这几个有点心得体会

我先给我的结论是

char strA[]="test_1"      (正确) 放在ram区

char *strB="test_1"       (错误,操作写的属性是未定义行为,会出现问题的)

const char *strC="test_1" (正确且规范,表示只是可以读,不能改变其内容)

解析如下:

char strA[]="test_1"      (正确) 放在ram区

这个数组strA[] 里面的内容是可读可写的属性,就是我们可以区改变其中内容的值,是不会出现问题的;

我的理解是在单片机的开发中,我们使用char strA[]="test_1" 这条语句是有着一些列的操作过程的,我觉得在写C语言的程序

中是可以这样去理解。我们知道单片机有ram区和rom 区;

ram区:random access memory ----->这个指的是可读可写的区域

ro

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值