目录
前情提要
字符常量
普通字符
转义字符
存储方式
字符串常量
符号常量
常变量
前情提要
由于又开始学编程语言,就一些关于C++的比较常用的知识点记录下,用来回忆C/C++的编程规则。
字符常量
普通字符
字符常量只包括一个字符,如'a'这样的是字符常量,'AB'这样就不是字符常量。
字符常量区分大小写,'a'与'A'是两个字符。
转义字符
以'\'开头的特殊字符。例如'\n',转移字符通常包含两个及以上的字符,但它只代表一个字符,在内存中只占1个字节。
如果要让'\n'输出了话,需要在转移字符前加"\"
输出:\n
存储方式
字符常量存放在内存单元时,是将该字符对应的ASCII码放到存储单元。例如存放'a'的存储单元,里面存储的是对应的ASCII码值97。
字符串常量
字符串常量“abc”在内存中占4个字节(而不是3个字节),原因是编译系统会在字符串最后自动加上一个'\0'作为字符串结束标志,存储内容就变成了
存储内容
a | b | c | \0 |
cout<<"abc"<<endl;
输出:abc
而不是abc\0。
字符常量'a'会比字符串常量“a”少一个字节,前者有1个字节,后者2个字节。
字符串常量"abc\n",占4个字符,占5个字节。
符号常量
#define PRICE 30
预定义一个字符串"PRICE"的值为30,将define范围内的所有PRICE全部替换成30,并且后期无法对PRICE进行再次赋值。
常变量
const
这个跟C语言又不一样了。
在定义变量时,如果加上关键字const,则变量的值在后期不能改变(再次赋值),这种变量称为常变量。
也可以用表达式
#define与const的区别
没有内存 | 有内存空间 |
可以用sizeof测出其长度 | |
没有类型 | 有类型 |
两者实现方法不同,但使用效果相同,可以认为一个标识符代表一个常量。