C语言学习day10

一.函数
    用于封装简化有规律或重复性代码,提高代码复用性
    划分模块,提高可读性
    1.函数的定义
        返回值类型 函数名(形参列表)    //函数首部
        {                            //函数体
            
        }
        返回值类型:返回值是函数执行结束返回给调用者的结果
        函数名:是一种标识符
        形参列表:函数执行所需要的一些必要信息
        函数体:实现功能的逻辑代码
        当函数返回值类型为非void时,必须写return,若为void时,也最好写return;
        当函数值类型不写时,默认为int型
    2.函数的调用
        函数名(实参列表)
        函数调用时,出现形参与实参数据类型不一致时,实参向形参进行隐式转换
    3.函数的声明
        函数首部+‘;’
        定义与声明:
            定义会包含声明
            定义一般会开辟空间,但声明不会
            声明可以多次,但定义只有一次
        函数调用前,一定需要函数声明

    4.变量的存储类型
        auto(自动变量):
            默认,存放在系统栈空间,即为局部变量
        register(建议性 寄存器变量):
            用于将数据变量存放在寄存器中
        static(静态变量):
            修饰局部变量:
                使生命周期延长,但只有局部变量的作用域,保存在数据区
            修饰全局变量:
                生命周期不变,但作用域限制在本文件
            修饰函数
                限制作用域在本文件
        extern(外部变量)
            修饰全局变量,声明此变量的定义在外部文件
            修饰函数,声明此函数的定义在外部文件
    5.作用域(变量所能使用的范围)
        局部变量:
            局部变量作用域在 从定义开始到距离最近的{}内部
            作用域重叠时,最近的变量作用域会屏蔽较远的
        全局变量:
            作用域在 从定义开始到整体结束
        函数:
            作用域在 从定义开始到整体结束
            如果调用不在作用域会产生隐式声明
    6.生命周期(从开辟空间到回收空间的过程)
        局部变量:
            从程序执行到定义时开辟空间,到离开作用域被回收空间
        全局变量:
            从编译阶段开辟空间,到整个程序结束回收空间
    7.函数传参
        值传递:
            实参将值拷贝给形参,两者仅存在拷贝关系,内存空间相互独立
        全局传参:
            利用全局变量的全局作用域,在两个函数间实现信息传递
        数组传参:
            数组作为函数参数传递的时候会传递地址编号

补充:

        extern关键字使用时,在编译阶段,需要gcc 加多个.c文件同时编译,否则编译器会提示未定义引用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值