c++小结之字符串字面量

存储区域

字符串字面量是形如"This is a book.\n"这样的一组明确的字符串。字符串字面量通常存储在内存的静态存储区。静态存储区大小固定,不受操作系统影响,但是一般比较小。

多个相同的字符串字面量

多个相同的字符串字面量在内存是存储在同一个位置。比如:

const char * a = "This is a book,\n";
const char * b = "This is a book.\n";

虽然ab是两个不同的变量,但是字符串字面量"This is a book.\n"在内存中只有一个。

生命周期

静态存储区的生命周期在程序开始到程序结束,所以静态存储区在编译阶段就对相关数据分配内存。

访问权限与声明

程序中任何代码都可以访问静态存储区的数据。但是静态存储区的数据不可被修改,所以如下代码错误:

char * a = "This ia a book.\n";

因为按照语法,a所指区域可以被修改,正确做法如下:

const char * a = "This ia a book.\n";

这里const表明不可修改其数据。

posted @ 2024-12-15 15:30  永恒圣剑  阅读(112)  评论(0)    收藏  举报