|
|
1
9
在一定程度上取决于您的运行时特性,但一般来说,执行如下操作:
将编译,但在运行时不工作。在这种情况下,文本字符串通常位于可执行文件的只读部分。但是,下面的示例将起作用:
在这种情况下,文本字符串是数组的初始化器(
这两个例子在语义上有区别。第一个创建指向文本字符串的指针,第二个创建数组并用文本字符串的内容对其进行初始化。 |
|
|
2
2
通常可以,但我会将指针标记为const,以防止无意中进行修改。
例子:
我不推荐这个。如果需要修改字符串,请将其复制到已分配的内存块中。 |
|
|
3
1
文字字符串总是常量。你可以指向它们,但不能写在上面。您有两种选择:
|
|
4
1
试图修改字符串文字会调用未定义的行为。最好将字符串文本视为不可写的。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |