参考: malloc功能(动态存储器分配) resultinginanerrorwhenitisusedglobally
# include stdio.h # include string.h # include stdlib.h char * y=(char * ) malloc(40 ); //gives an error hereint main () (strcpy ) y,' hello world ' ); )在上述示例中,char*y=(char* ) malloc(40 ); 报告错误。
如果放在函数中,就不会报告错误。
# include stdio.h # include string.h # include stdlib.hint main () char*y=(char* ) malloc ) 40 ); //givesanerrorherestrcpy(y,' hello world '; }让我来解释一下这是为什么吧。
1全局变量对于全局变量,只能执行以下操作
定义和使用常数,并且初始化(在编译阶段接受)对于全局来说,接受的值只有常数,是在编译时确定的。
在双函数调用c语言级别,main函数的任何项函数都必须从main作为项调用。 malloc是main以外的函数,放在外面谁都不能调用它。 因此,除了malloc,任何函数都不能全局调用。