字符串常量

给出字符串的定义:
字符串是以空字符结尾的char型数组
再给出字符串常量的定义:
字符串常量又称为字符串文字,是指位于一对双引号中的任何字符。双引号里面的字符加上编译器自动提供的结束标志\0字符,作为一个字符串被存在数组当中。
那么怎么理解“字符串常量给出的是地址值”呢?
看到这里就要知道在调用一个数组的时候,一般是给出这个数组的首元素的地址值,数组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

 

转载于:https://www.cnblogs.com/YTYMblog/p/5382278.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值