const char* str和const char str[]的区别

首先,字符串常量是存储在flash中的。假设字符串常量在flash中的地址是0x8003fb8。

第一种方式,str等价于str的内存单元的地址,str的内存单元存储着字符串常量的地址

第二种方式,str等价于字符串常量的地址

 

freertos消息队列传入的是指向需要传递的数据的指针变量,如果写成字符串数组char str[],传入&str的值是指向字符串的常量指针(常量取地址还等于自身)

队列发送函数里*a得到的是字符串的前四个字节,然后把这四字节转成地址,最终得到的地址不是字符串首地址,所以要用字符串指针形式定义字符串

 

posted @ 2023-02-25 18:57  恒一v  阅读(128)  评论(0)    收藏  举报