是否可以将char存储在char '\0'数组中,然后存储不同的字符?例如
char* tmp = "My\0name\0is\0\0";
Run Code Online (Sandbox Code Playgroud)
我被教导实际上在C中称为字符串列表,但当我尝试打印上面(使用printf("%s\n", tmp))时,它只打印
"我的".
是的,但是,肯定有可能的是,您不能将该数组用作字符串并获取存储后的内容'\0'.
根据定义,字符串是一个以null字符结尾的char数组.所有的字符串相关的功能将停止在终止空字节(例如,参数,包含实际内容,传递给格式说明之间在中).'\0''\0'%sprintf()
引用C11,章节§7.1.1,术语定义
字符串是由第一个空字符终止并包括第一个空字符的连续字符序列.[...]
但是,对于逐字节处理,只要保持在分配的内存区域内,就可以继续使用.
| 归档时间: |
|
| 查看次数: |
776 次 |
| 最近记录: |