在C中声明常量字符串的最佳方法

时间:2017-11-08 09:22:05

标签: c c-preprocessor const

我有一个字符串:"The world is a beautiful place to live in."

我有两个源文件和一个全局头文件。我可以通过两种简单的方式访问字符串: -

  • 声明并定义一个常量变量,如下所示:我可以使用extern

    来使用它

    const char *str = "The world is a beautiful place to live in.";

  • 使用#define STR "The world is a beautiful place to live in."

在上述两个选项中,C中首选哪一个?

1 个答案:

答案 0 :(得分:0)

如果您只考虑获取字符串文字并不重要(如果您不这么做),但是如果您希望在调试器下跟踪字符串常量,则可能需要使用const char*str = ...

  

使用宏定义,您将获得宏的所有问题   扩张 - 扩张的副作用,污染的名称   空间,与调试器帮助等的偏差