she*_*lbc 5 c string types pointers compilation
如果我要做的事情如下:
printf("The string is: %s\n", "string1");
Run Code Online (Sandbox Code Playgroud)
以下是在编译时完成的:
printf("The string is: %s\n", (unsigned char*) "string1");
Run Code Online (Sandbox Code Playgroud)
还是类似的?
Lih*_*ihO 12
它由标准定义,字符串文字的类型是char
1的数组,数组自动衰减为指针,即char*
.在将其作为参数传递给printf
使用%s
说明符时,您不需要显式地强制转换它.
旁注:在C++中它是const char*
2.
[1] C99 6.4.5:"字符串文字是用双引号括起来的零个或多个多字节字符的序列,如"xyz"... 静态存储持续时间和长度的数组足以包含序列对于字符串文字,数组元素的类型为char
"
[2] C++ 032.13.4§1:"普通的字符串文字具有类型"n const char
"的数组
和静态存储持续时间"
归档时间: |
|
查看次数: |
175 次 |
最近记录: |