维基百科称"const"是"......一种特殊的变量,其值在执行过程中通常不会被程序改变......"
如果是这种情况,为什么会这样:
const char *words[4] = { "aardvark", "abacus",
"allude", "zygote" };
*words = "first";
words[1] = "second";
int wordCount = 4;
int i;
for (i = 0; i < wordCount; i++) {
NSLog (@"%s is %d characters long",
words[i], strlen(words[i]));
}
Run Code Online (Sandbox Code Playgroud)
有一个输出:"第一""第二""暗示""合子"(显然与长度等)
我认为"const"的重点是防止被修改的变量?
ken*_*ytm 19
将const仅适用于char,即字符串本身的内容,而不是数组.如果您希望数组的内容也是常量,则需要添加const到每个级别:
char const* const words[4] = { "aardvark", "abacus", "allude", "zygote" };
// ^ ^
// | This makes words[x] = "abc"; fails.
// |
// This makes words[x][y] = 'a'; fails
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3195 次 |
| 最近记录: |