什么是常数arrays?

什么是常数arrays?

如果我们定义

const char hex_char[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; 

然后,它不应该被程序修改; 这是什么意思?

这意味着您无法修改其内容。 例如,您不允许执行hex_char[i] = 'A' ,这将导致编译时错误。

尝试修改const限定对象会产生未定义的行为。 有些C编译器甚至将它们存储在只读的内存段中。

正如Grijesh Chauhan指出的那样,直接修改数组会给你一个编译器错误。 但是使用memcpystrcpy或类似函数可能只会给你警告。 但是,这些也不合法。 所以不要这样做!