黑马程序员IOS-C语言-static、extern

本文详细介绍了C语言中函数的分类,包括外部函数和内部函数的区别及其应用场景,并阐述了static与extern关键字如何影响函数的作用域。此外,还探讨了全局变量的分类,即外部变量与内部变量的不同之处,以及static和extern如何应用于变量声明中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

——- android培训、java培训、期待与您交流! ———-


函数可以分为外部函数和内部函数

外部函数:当前文件中定义的函数运行其他文件访问、调用。
        不可以有同名函数

内部函数:当前文件中定义的函数只运行在本文件内部使用。
        可以有同名函数,互不干扰

static 和 extern 对函数的作用

extern :
1> 完整地定义一个外部函数
2> 完整地声明一个外部函数
(extern可以省略,默认情况下声明和定义的函数都是外部函数)

static :
1> 定义一个内部函数
2> 声明一个内部函数

全局变量 分为外部变量和内部变量

外部变量:定义的变量能被本文件和其他文件访问
    1.默认情况下,所有的全局变量都是外部变量
    2.不同文件中的同名外部变量都代表着同一个变量

内部变量:定义的变量只能被本文件访问
    1.不同文件中的同名内部变量,互不影响

static 和 extern 对变量的作用

extern :
1> 声明一个外部变量,不能用来定义变量

static :
1> 定义一个内部变量

静态变量:存储在静态内存中???

包括:
所有的全局变量都是静态变量
被关键字 static 修饰的局部变量

生命周期:静态变量在程序运行之前创建,在程序的整个运行期间始终存在,直到程序结束.

/*
寄存器变量:存放在硬件寄存器中的变量。比内存更加高效 ???

包括:
被关键字 register 修饰的自动变量都是寄存器变量
只有自动变量才可以是寄存器变量,全局变量和静态局部变量不行
寄存器变量只限于int、char和指针类型变量使用
*/


——- android培训、java培训、期待与您交流! ———-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值