错误
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 的指针,这个指针式全局的。但是对于全局变量,如果做初始化,作为初始化的右值,必须是一个常量。