将字符串文字视为常量

时间:2015-12-25 13:13:17

标签: c gcc

当字符串文字分配给非常量字符指针时,有没有办法让GCC发出警告?

示例:

const char *source;
char *target;

target = source;
target = "hello";

GCC警告将常量指针 source 分配给非常量指针 target 但不幸的是接受了字符串文字赋值。

1 个答案:

答案 0 :(得分:4)

使用-Wwrite-strings。来自GCC manual

  

-Wwrite-strings

     

编译C时,为字符串常量提供类型const char[length],以便将其中一个地址复制到非const char *指针中会产生警告。