C函数malloc()是在stdlib.h下定义的.如果我们不包含这个文件应该给出错误,但是这个代码可以正常工作并带一点警告.我的问题是如果malloc()在没有这个头文件的情况下工作,那么为什么要包含它呢?请清楚我的概念.
# include <stdio.h>
int main()
{
int a, b, *p;
p = (int*)malloc(sizeof(int)*5);
for(a=0;a<5;a++)p[a]=a*9;
for(b=0;b<5;b++)printf("%d ",p[b]);
}
Run Code Online (Sandbox Code Playgroud)
Kar*_*ath 11
在C中,遗憾的是,您不需要预先声明函数.如果编译器遇到一个新函数,它将为它创建一个隐式声明("mmm`kay,这是如何使用它所以我将假设参数的类型是..").
不要依赖这个"功能",一般不要编写编译警告的代码.
小智 5
阅读警告。它说它无效。编译器对你太客气了。在 Clang 中这有效,但在其他编译器中可能无效。
至少包括它以抑制警告。不必要的警告很烦人。任何程序都应该编译时将警告视为错误(我总是启用它)。