• 字符串常量


    给出字符串的定义:
    字符串是以空字符结尾的char型数组
    再给出字符串常量的定义:
    字符串常量又称为字符串文字,是指位于一对双引号中的任何字符。双引号里面的字符加上编译器自动提供的结束标志字符,作为一个字符串被存在数组当中。
    那么怎么理解“字符串常量给出的是地址值”呢?
    看到这里就要知道在调用一个数组的时候,一般是给出这个数组的首元素的地址值,数组a的首元素的地址值&a[0]就是我们首先得到的一个数组的调用的值。那么上面也说过了,字符串常量作为一个数组,被储存在内存中,内存是按地址来分配空间的,当调用一个字符串常量的时候,就会得到这个字符串它的地址值。也就是这个意思。

    另外,关于常量的地址问题

    楼上的说法都是有问题的,C/C++只有文字常量区,保存的是"hello world"这类字符串。对于1、2、3、'a'这类的数,它们是存放在寄存器上的,没有所谓的内存地址。

    C/C++只可以用指针取字符串常量的地址,该类被认为是左值,而其他的字面值常量(literal constant),则被认为是右值,不允许取地址。至于const常量,只能说是一个const修饰的只读变量,和字面值常量不同。

    我只说两点:
    1、字符串常量是有地址的 p="fuck".
    2、数据常量如5、6等,不需要地址存放,它作用是来初始化或者赋值,
    左值就成了它的地址,如 int fuck=5.我们使用时是使用fuck,而不是使用5

    亲爱的听众朋友我是你的代班DJ
  • 相关阅读:
    EF架构~系列目录
    不谈技术~做一个好人,一个简单的人
    不谈技术~谈人生,干吧,年轻人!
    c++ 用lambda删除vector中元素
    转:我们为什么这么容易受骗?
    windows 数据类型
    《暗时间》书摘 “学习与思考”
    转:斯托克代尔悖论与底线思考法
    Android之HelloWorld
    win7搭建android开发环境
  • 原文地址:https://www.cnblogs.com/YTYMblog/p/5382278.html
Copyright © 2020-2023  润新知