在全局范围内使用 calloc 声明 ptr 时出错
Error while declaring ptr using calloc in global scope
[cquery] 缺少类型说明符,默认为 'int' [-Wimplicit-int]
[cquery] 使用不同类型重新定义 'ptr':'int' vs 'int *
int *ptr,size=50;
ptr=(int*) calloc(size,sizeof(int));
我该如何解决这个错误?这背后的原因是什么。
对于初学者这个
ptr=(int*) calloc(size,sizeof(int));
不是声明而是表达式语句。
您不能在文件范围内放置语句。
此外,可以使用 compile-time 常量初始化具有静态存储持续时间的变量(并且文件范围变量具有静态存储持续时间)。
因此您应该将上面的语句放在某个函数中,例如在 main 中。
同时考虑重新设计程序的可能性,使其具有尽可能少的文件范围变量。
[cquery] 缺少类型说明符,默认为 'int' [-Wimplicit-int]
[cquery] 使用不同类型重新定义 'ptr':'int' vs 'int *
int *ptr,size=50;
ptr=(int*) calloc(size,sizeof(int));
我该如何解决这个错误?这背后的原因是什么。
对于初学者这个
ptr=(int*) calloc(size,sizeof(int));
不是声明而是表达式语句。
您不能在文件范围内放置语句。
此外,可以使用 compile-time 常量初始化具有静态存储持续时间的变量(并且文件范围变量具有静态存储持续时间)。
因此您应该将上面的语句放在某个函数中,例如在 main 中。
同时考虑重新设计程序的可能性,使其具有尽可能少的文件范围变量。