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

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

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

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

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

const char* str和const char str[]的区别的更多相关文章

  1. C语言中为什么不能把char**赋给const char**

    这是我在知乎回答的一个问题. 这个问题是C中的一个深坑,首先说结论: char ** 和 const char ** 是两个不相容(incompatible)的类型,能够理解为不能直接赋值 在C11的 ...

  2. const char and static const char

    部分内容摘自:https://blog.csdn.net/ranhui_xia/article/details/32696669 The version with const char * will ...

  3. [Link 2005]vs2015 LNK2005 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl printR(class std::basic_ostream<char,struct std::char_traits<char> > &,class QueryResult const &)" (?

      vs2015 LNK2005 "class std::basic_ostream<char,struct std::char_traits<char> > &am ...

  4. 谈谈 char *num="123";和char num[4]="123";的区别

    最近写程序的时候发现这样一个问题 #include<iostream> #include <string.h> using namespace std; void revers ...

  5. const 指针与指向const的指针

    最近在复习C++,指针这块真的是重难点,很久了也没有去理会,今晚好好总结一下const指针,好久没有写过博客了,记录一下~ const指针的定义: const指针是指针变量的值一经初始化,就不可以改变 ...

  6. unicode下各种类型转换,CString,string,char*,int,char[]

    把最近用到的各种unicode下类型转换总结了一下,今后遇到其他的再补充: 1.string转CString string a=”abc”; CString str=CString(a.c_str() ...

  7. c++中的const参数,const变量,const指针,const对象,以及const成员函数

    const 是constant 的缩写,“恒定不变”的意思.被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性.所以很多C++程序设计书籍建议:“Use const whe ...

  8. [C/C++] 输入函数getline(cin,str) 与cin.getline(str,int)区别

    cin.getline()函数是处理数组字符串的,其原型为cin.getline(char * , int),第一个参数为一个char指针,第二个参数为数组字符串长度. getline(cin,str ...

  9. char *p="abc" 与 char p[]="abc" 的区别

    本文来源于网络 出处:点我 有这样一段代码: #include "stdio.h" char *get_string_1() { char p[] = "hello wo ...

  10. construction const parameter问题 构造函数const引用参数问题

    工程在window下编译没有任何问题, 但是在linux(CentOS6)下编译就老是报错 C++ 编译器已升级到最新版 6.1.0 错误如下: In file included /bits/stl_ ...

随机推荐

  1. Windows环境下FTP Server在局域网内的搭建

    什么是FTP? File transfer protocol sreveris a computer software that facilitate the secure rxchange of f ...

  2. Python GDAL读取栅格数据并基于质量评估波段QA对指定数据加以筛选掩膜

      本文介绍基于Python语言中gdal模块,对遥感影像数据进行栅格读取与计算,同时基于QA波段对像元加以筛选.掩膜的操作.   本文所要实现的需求具体为:现有自行计算的全球叶面积指数(LAI).t ...

  3. 钓鱼攻击之:OFFICE CVE-2017-11882

    钓鱼攻击之:OFFICE CVE-2017-11882 目录 钓鱼攻击之:OFFICE CVE-2017-11882 1 环境准备 2 利用过程 2.1 生成验证POC 2.2 CVE-2017-11 ...

  4. 02#Vue3 Transition 过渡:切换路由组件

    复习作用域插槽 组件可以被插入些许节点作为其子节点,插槽<slot>就是一个接口(或桥梁)引导这些节点进入组件.这些节点应该被渲染到组件里的具体哪个位置,就是具名插槽的作用. 就像是给手机 ...

  5. python去重的几种方法

    from collections import OrderedDict list1 = [1,5,2,1,10] print(list(set(list1))) #[1, 2, 10, 5] 这种方式 ...

  6. PKU2506Tiling

    https://blog.csdn.net/Harington/article/details/86612106

  7. C# Type类

    System.Type类它实际上是一个抽象类 C#中可以通过Type类访问任意数据类型的信息 一般获取数据类型的Type引用有以下几种方式: 使用typeof运算符:Type type1 = type ...

  8. el-inpu 输入框,输入一个字符失去焦点,不能连续输入问题

    问题出现的原因:输入框绑定值改变导致代码从新渲染 <div v-for="(x,index) in item.newAttrs " :key="x.en" ...

  9. LP1-5:测试设计

    在接到产品需求进行开发前,怎么样才能最大程度的降低开发错误或明显bug的情况? 答案是在「开发前做设计」. 通常,一个功能的设计要包含几个方面: 1.已有功能情况 2.需求情况 3.数据库设计 4.接 ...

  10. SDN实验环境安装