什么是常数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指出的那样,直接修改数组会给你一个编译器错误。 但是使用memcpy
, strcpy
或类似函数可能只会给你警告。 但是,这些也不合法。 所以不要这样做!