重新认识C语言
重新认识Linux C语言
1.函数的隐形声明(implicit Declaration):main函数使用没有先声明的函数的时候,编译器就会认为在使用此个函数的 时候隐式声明了一个返回值是int的函数声明比如 int fun(void);这样函数的参数和返回值就确定下来了,编译 器根据这些信息为函数调用生成相应的指令。然后编译器就会继续往下看,当看到真实的函数void fun(void)的 时候和之前的隐形声明的函数的返回值不同,就会有警告。warning:implicit declaration of function “fun”
2.为什么编译器在处理函数时需要知道函数的原型?因为只有知道了函数的原型之后才可以知道函数的返回值和参数来 生成相应的指令。此时隐形的声明是靠不住的,因为它是根据函数调用代码推测的。编译器是不知道去哪里找函 数原型的,所以要先声明,或者extern其他文件的函数。
3.include”stack.h”和include
还没有评论,来说两句吧...