你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

C:错误:memory.c:1:12: error: initializer element is not constant

2021-11-21 6:40:22

错误

memory.c:1:12: warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration]
  char *d = malloc(-1);//1000);
            ^~~~~~
memory.c:1:12: warning: incompatible implicit declaration of built-in function ‘malloc’
memory.c:1:12: note: include ‘<stdlib.h>’ or provide a declaration of ‘malloc’
+#include <stdlib.h>
  char *d = malloc(-1);//1000);
            ^~~~~~
memory.c:1:12: error: initializer element is not constant

这里的memory.c:1:12 代表的含义是:文件名,行号,列号。指向了malloc 函数的 m;

原因

第一行定义了一个 char 的指针,这个指针式全局的。但是对于全局变量,如果做初始化,作为初始化的右值,必须是一个常量。