关于单片机中使用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