初识C语言:关键字typedef和static

一.关键字typedef

1.类型重命名

C语言为我们提供了一种类型重命名的功能,如下图所示。

可以看到我们用typedef将const int类型重命名为conin
在接下来的定义ab变量打印后 输出的结果就会是一样的。

这里需要注意的是,typedef声明并没有创建一个新类型,它只是给已经存在的类型增加了一个名称而已。

typedef 还可以给数组、指针、结构体等类型定义别名。等我学到进阶再说。


二.关键字static

1.修饰局部变量

![在这里插入图片描述](https://img-blog.csdnimg.cn/298f3b00cfec48c6a0f3fd7de474ed6f.png =50

如何我们在test函数中用static修饰局部变量a运行结果会怎样呢。如下

在这里插入图片描述
为什么会出现这种区别呢。其实我们知道局部变量是进入作用域创建,出了作用域销毁的,这种普通的局部变量一般存储在栈区。而经过static修饰后的局部变量就会放在静态区所以在创建后,直道程序结束才会销毁,延长了局部变量的生命周期。

2.修饰全局变量

2. 修饰全局变量-静态全局变量
在这里插入图片描述

在不同文件下的全局变量我们可以使用extern进行引用,因为全局变量具有外部链接属性

3.修饰函数

3. 修饰函数-静态函数
在这里插入图片描述

与全局变量相似 函数也具有外部链接属性,同样被static修饰后的函数也只能在同一文件下使用。

猜你喜欢

转载自blog.csdn.net/qq_43289447/article/details/127436966
今日推荐