我是用C写的:
char *IP = malloc(12 * sizeof(char));
但我得到"初始化器不是常量
有什么想法吗?
答案 0 :(得分:4)
您正在尝试为任何函数之外的变量赋值。在这种情况下,您只能分配常量值,这些值不是函数调用或操作的结果。例如,你可以做
int i = 3;
但不是
int i = pow(2, 2);
对于您想要做的事情,您可以在全局范围内声明变量,但随后在main
中指定一个值。
答案 1 :(得分:3)
试试这个
char *IP;
...
IP = malloc(12 * sizeof(char));//in main