小编Max*_*nft的帖子

没有初始化的C字符串没有警告

我目前想知道为什么在编译/链接小型C程序时我没有从GCC收到错误.

我在version.h以下字符串中声明:

const char* const VERSION;
Run Code Online (Sandbox Code Playgroud)

version.c我已设置变量的初始化:

const char* const VERSION = "0.8 rev 213";
Run Code Online (Sandbox Code Playgroud)

没问题.我可以在程序的其余部分使用该字符串.

如果缺少c文件,则在编译/链接期间不会发生错误,但是当程序尝试访问变量时,程序会失败并且SIGSEGV(当然).

我设置变量的方法是VERSION正确的还是有更好的方法?或者在编译/链接期间是否有机会出错?

c global-variables definition header-files forward-declaration

24
推荐指数
3
解决办法
1959
查看次数