重新认识C语言

女爷i 2022-08-12 04:28 293阅读 0赞

重新认识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的区别。引号:gcc首先查找包含这个头文件的当前目录,然后查找-I指定的目 录,最后是查找系统的头文件目录。尖括号:gcc首先查找-I指定的目录,最后是查找系统的头文件目录。

发表评论

表情:
评论列表 (有 0 条评论,293人围观)

还没有评论,来说两句吧...

相关阅读

    相关 重构之重新认识

    重构?每次听到这个词,头脑里面闪现的就是“推倒重做,代码重写”,那到底重构是什么玩意?所谓“外事不决问谷歌,内事不决问百度,房事不决问天涯”,百度百科上面的解释是:重构(Ref

    相关 重新认识C语言

    重新认识Linux C语言 1.函数的隐形声明(implicit Declaration):main函数使用没有先声明的函数的时候,编译器就会认为在使用此个函数的      

    相关 重新认识秦始皇

    由于本人 特别喜欢 曹操 秦始皇 刘邦 韩信 最近又找到一些资源,想分享给大家 让大家重新认识下 秦始皇 [视频资源地址][Link 1] [Link 1]: ht

    相关 重新认识面向对象

    对象是什么? – 从概念层面讲,对象是某种拥有责任的抽象。 – 从规格层面讲,对象是一系列可以被其他对象使用的公共接口。 – 从语言实现层面来看,对象封装了代码和数