[C/C++]_[初级]_[声明和使用字符串常量和字节常量]
Posted infoworld
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C/C++]_[初级]_[声明和使用字符串常量和字节常量]相关的知识,希望对你有一定的参考价值。
场景
- 我们需要存储常量的字节数组,并且数组里的字节数据可以是任意数值
0-255
。怎么存储?
说明
- 任意字节数组可以使用
char
或者unsigned char
作为数据类型。比如以下的字符串声明。这种字符串数据可以通过strlen(buf)
来计算它的长度,它会遇到\\0
结束。常量字符串会自动在末尾增加一个\\0
结束符。
const char* buf = "helloworld";
- 如果常量字节数据带了
\\0
字符,即0
值,那么这种常量字符串就不适合,因为计算不了它的长度。这时候就可以使用字符数组,如以下的声明。这时候如果buf
的长度可以通过sizeof(buf)
来获取它的大小。但是也因为未预先定义大小的声明方式[]
,字符串初始化在后边自动添加一个\\0
字符,所以它的实际大小需要减一,sizeof(buf)-1
. 这种数组声明可以有效的存储任意可见不可见字符,
以上是关于[C/C++]_[初级]_[声明和使用字符串常量和字节常量]的主要内容,如果未能解决你的问题,请参考以下文章
[C/C++]_[初级]_[关于编译时出现有符号-无符号不匹配的警告-sizeof使用注意事项]
[C/C++]_[初级]_[关于编译时出现有符号-无符号不匹配的警告-sizeof使用注意事项]
[C/C++]_[初级]_[关于编译时出现有符号-无符号不匹配的警告-sizeof使用注意事项]
[C/C++11]_[初级]_[使用正则表达式库regex]