Linux C 程序设计大全 - C 语言中的函数

函数本质:一段二进制可执行代码,函数名是一个标号,等于内存中存储函数代码的内存空间的首地址。

函数调用:first 将参数压入栈帧  second 需要保存寄存器的值 third 保存返回地址 

fourth 造成跳转

变量存储优化:全局变量存储在内存中,局部变量存储在栈上。

变量的存储类别: auto:自动变量,若忽略变量存储类别,编译器自动认为为auto类型。
                             register:寄存器变量,此类别的变量会被优先分配寄存器。通常循环因子被分配寄存器。
                             extern:外部变量,即全局变量,不会因为栈帧的消失而消失。存储在内存的数据段上。只是让他
                                          文件中的程序可以引用改变量。不改变生命周期。
                             static:静态变量,存储在数据段上。静态全部变量的作用域——仅限于该文件,静态局部变量的做作                                          用域———定义所在的符合语句内。

                            static的经典作用:1 改变变量的生命期   2 实现封装和模块化设计(list.h操作函数的接口声明)

 链接:使程序的模块化更强,代码更易于分类管理。 
  定义and声明:int a;//声明,告知编译器该变量的存在,不分配存储空间
                         int b=1;//定义
                          符号解析规则
                         *不允许有多个符号的定义,这里的符号指的是变量或者函数。
                         *如果有一个符号定义和多个符号声明,则选择被定义的符号。
                         *如果有多个符号的声明,则从其中任选一个作为符号的定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值