看下面的代码......我收到了行号的错误.6 ...请任何人解释为什么会发生这种情况?
#include<stdio.h>
struct test{
int data;
};
typedef struct test* Test;
Test obj=(Test) calloc(1,sizeof(struct test));
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
变量obj驻留在文件范围内,因此它的初始化程序必须是编译时常量.你试图改为调用函数.这是不允许的,否则将意味着代码将在函数之外运行(在这种情况下调用函数).
您需要将指定值的代码移动到main函数中.
#include<stdio.h>
struct test{
int data;
};
typedef struct test* Test;
Test obj;
int main()
{
obj = calloc(1,sizeof(struct test));
return 0;
}
Run Code Online (Sandbox Code Playgroud)