static char * buf = NULL

时间:2013-11-22 16:34:45

标签: c variables static

我是编程的新手,我有一个关于C中的静态变量的项目。我已经看到我们可以声明一个这样的静态变量:

static char     *buf = NULL

如何添加" = NULL"最后?

3 个答案:

答案 0 :(得分:5)

对于static变量,它只添加一个文档组件:作者记录该值已明确设置为NULL

唯一(内部)差异是,如果存在这样的概念,

static char *buf;

将被放入.bss段(resp。将在运行中归零),而

static char *buf = NULL;

可能被放入.data(可能会与其他非零初始化变量一起初始化)。

(“可能”表示:尽管初始化,编译器可以自由选择将其放入.bss,因为效果是相同的。)

答案 1 :(得分:-1)

将ptr初始化为zero

相同
static char *buf = 0;

答案 2 :(得分:-3)

它在编译时用NULL初始化该指针。否则它的起始值是未定义的。