c - 初始化器不是常量。马洛克

标签 c malloc

我正在用 C 语言编写此内容:

char *IP = malloc(12 * sizeof(char));

但是我得到“初始化器不是常量

有什么想法吗?

最佳答案

您正在尝试为任何函数外部的变量赋值。在这种情况下,您只能分配常量值,该值不是函数调用或操作的结果。例如,您可以这样做

int i = 3;

但不是

int i = pow(2, 2);

对于您想要执行的操作,您可以在全局范围内声明变量,然后在 main 中赋值。

关于c - 初始化器不是常量。马洛克,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23183188/

相关文章:

c - 为什么我不能对 SDL 纹理使用 colorkey?

c - C 中的嵌套信号处理程序

c - 是什么改变了我的 C 字符串中的 char 值?

c - 我自己的 malloc() 函数中的指针算术问题

c - sched_setaffinity() 是如何工作的?

c - 抢救一部好手机来学习嵌入式编程?

c - 内核土地套接字连接超时

c - 为什么我的二维数组带有 malloc int segfault?

c - IRB 无法运行 ruby​​ gem 函数,而 ruby​​ 成功

c - 处理 "out of memory"的正确方法是什么?