初识常见关键字

 typedef:类型定义(类型重定义)简单来说就是重命名

就是如何把常语句简单化,只需在函数前给上一个typedef unsigned int u_int;就可以直接把这个类型重新起了个新名字u_int,这个简写就和原本的是一样的意思

 

static:静态的(有3种用法)

1.static修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的储存类型) 

由栈区的局部变量变成了static修饰的静态区的静态变量

 

 这里a印出来的是10个2,因为a所在的是局部变量,出来这个局部程序后就自动销毁所以打印出来的是10个2

 为什么这里a打印出来的是2-11,而不是10个2呢

因为这里的static这个关键字修饰了这个局部变量,让这个局部变量出了这个范围而不被销毁,延长了局部变量的生命周期,从局部变量变成“全局变量”

2.static修饰全局变量

static修饰全局变量,使得这个全局变量只能在自己的源文件(.c)其他源文件不能使用

全局变量在其他源文件内部可以被使用,是因为全局变量具有外部链接属性,但是被static修饰之后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量

3.static修饰函数

static修饰函数,使得函数只能自己的源文件使用,不能在其他源文件内部使用

本质上:static是将函数的外部链接变成了内部链接属性!(和static修饰全局变量一样)

 

posted @ 2023-05-06 22:57  油头男孩  阅读(10)  评论(0编辑  收藏  举报