在C语言中,错误“initializer element is not constant”通常出现在全局变量或静态变量的初始化过程中,使用了非常量表达式。 这个错误表明在编译时,初始化表达式的值无法确定,因此编译器无法为变量分配内存空间。在C语言中,全局变量和静态变量的初始化值必须是编译时可确定的常量表达式。 解决方法 使用常量表达式: 确保初始化值是
C语言出现 "initializer element is not constant" 错误的原因 当在全局变量定义一个指针变量,并动态分配内存后,发现竟然编译不过去,并提示 ""initializer element is not constant"": 1 2 3 4 5 char*buf =malloc(1024); intmain() { return0; }; 后来知道了,不能将全局变量初始化为一个无法在编译时期...
C语言出现 initializerelementisnotconstant错误的原因 当在全局变量定义一个指针变量,并动态分配内存后,发现竟然编译不过去,并提示 ""initializer element is not constant"": char *buf = malloc(1024); int main() { return 0; }; 后来知道了,不能将全局变量初始化为一个无法在编译时期确定的值。再想想暑假...
} 出现的错误都是initializer element is not constant,即初始值不是常量 上面是c语言的 c99标准描述如下: C99标准 6.7.8 Initialization 第4款: 4 All the expressions in an initializer for an object that has static storage duration shall be constant expressions or string literals. 关于static storage dur...