7.27常见关键字2

typedef:类型重定义,为基本数据类型定义新的类型名,type define
e.g.
unsigned int a = 0;
如果觉得unsigned太长了不想打
可以用typedef重新定义它们的名字
typedef unsigned int u_int//u_int就是重新定义的一个名字,之后使用u_int相当于使用unsigned int
 


static:静态的,可修饰局部变量、全局变量、函数。改变变量的生命周期,本质上是改变变量存储类型,将原本存在栈区的局部变量转到静态区。

                                                                    修饰局部变量

在左侧代码中,由于test中的a没有static修饰,每次运行到反括号时a的值(a++后等于2)会自动销毁,生命周期到头,然后重复下面的代码。右侧由于有static修饰,出括号时a的值不会自动销毁,会保留下来,反复进行++。延长生命周期。
 


                                                                修饰全局变量 
当同一工程下存在两个源文件时,若static修饰其中一个文件中的全局变量,则其他文件将无法使用该变量,即使声明也不行,只能在本源文件里使用。全局变量在声明的情况下可以被外部文件使用,因为其有外部链接属性,static将其修饰后变为内部链接属性。
 


                                                                修饰函数 
static使函数只能在自己所在的源文件内使用,不能在其他源文件使用,类似于修饰全局变量。本质上是把函数的外部链接属性改为内部链接属性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值