tom*_*mol 11 c string pointers integer char
char *str = "Hey baby";
Run Code Online (Sandbox Code Playgroud)
为字符串创建内存并指向str它.如果这是有效的,为什么不是以下内容:
int *x = {7, 0, 1};
Run Code Online (Sandbox Code Playgroud)
这应该做同样的事情,除了它们是ints而不是chars.
M.M*_*M.M 13
有"不可变的一组内容",它看起来像:
(const int[]){7, 0, 1}
Run Code Online (Sandbox Code Playgroud)
适当的术语是复合文字.你可以指出它:
const int *ptr = (const int[]){7, 0, 1};
Run Code Online (Sandbox Code Playgroud)
由于历史原因,const尽管字符串文字是不可变的,但它们没有类型.但是使用a const char *来指向它们是个好主意,这样编译器会在你尝试写入一个时检测到它.
具有const类型的复合文字可以与字符串文字相同的方式"折叠",即它们可以与其他此类复合文字重叠.非const复合文字确实有唯一的地址,可以写入.
| 归档时间: |
|
| 查看次数: |
256 次 |
| 最近记录: |