我是编程的新手,我有一个关于C中的静态变量的项目。我已经看到我们可以声明一个这样的静态变量:
static char *buf = NULL
如何添加" = NULL"最后?
答案 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
初始化该指针。否则它的起始值是未定义的。