C语言常见关键字

C语言提供了丰富的关键字,这些关键字是语言本身就提前设定好的,用户是不能自己创造关键字的,关键字不能被用来当作变量名

基本数据类型:char  int   short  long   long long    float  double

与类型相关,修饰类型的:signed(有符号) unsigned(无符号) static(静态的)const (常)    void(空)  enum(枚举类型)struct(结构体)  union(联合体类型)sizeof:计算所占内存大小  register:寄存器  typedef定义一个类型

auto:是修饰类型的一个关键字,例如我们创建一个局部变量时  int a=0;它只能在它的作用域内起作用,出作用域即销毁。其实int的前面隐藏了一个 auto即自动销毁功能,大多数时候被隐藏起来了。

分支、循环结构:if else switch case default for while do

break:用来打破循环(只能跳出最近的一层),也可以用在switch-case语句中用来切断后续的case,防止得到一连串后续结果。

continue:跳出本次循环后续代码,然后回到循环判断的位置

extern:用来声明外部符号

goto:跳到某一个位置

return:用于函数中返回某个值,只能返回一个,返回一个后其它的就失效了

下面具体介绍几个。

register-寄存器

首先,在计算机上,我们的数据都可以存储在哪里?

寄存器(字节)--高速缓存(xxxMB)--内存(8G、16G)--硬盘   (网盘,在云服务器上)

从右向左速度下降,价格变低

CPU(中央处理器)从寄存器中取走数据然后处理,同时高速缓存的数据往寄存器中移动,提升计算机整体的运行效率。

如果频繁的用到a=10这个数据,可加register修饰 提高效率。不过由于编译器的不断升级,编译器会经过分析后自动将某些代码送到编译器中。

typedef-类型重命名 

顾名思义是类型定义,这里应该理解为类型重命名

 对于某一个类型,我们可能会多次使用,可使用typedef重命名将它缩短

static-静态

1、修饰局部变量

在test函数中创建局部变量a,a++变为1后打印,然后出test函数a销毁

 

加入static修饰后,将局部变量a放入静态区,此后每次调用test函数,取出的都是其中的a,调用十次,a自增到10,static改变了的局部变量a的生命周期。

内存中具体有以下几个区

栈区

可以存放临时的变量 如局部变量、函数调用的参数(进入作用域创建,出即释放)

堆区

malloc、calloc、realloc、free用来进行动态内存分配的

静态区 

存放静态变量、全局变量(放在静态区的数据,直到程序结束时才会销毁,空间才会释放)

 被static修饰的局部变量改变了存储位置,然后使其延长了生命周期,但不会改变作用域。

2、修饰全局变量

全局变量本身是具有外部链接属性的,在A文件中定义的,在B文件中只需要用extern进行外部声明即可使用。但是如果全局变量被static修饰,这个外部链接属性就变成了内部链接属性,只能在其所在的源文件使用,不能跨文件。(全局变量作用域变小)

 

 

3、修饰函数

函数本身是具有外部链接属性的,被static修饰后变为内部链接属性,使得这个函数只能在其所在的源文件内部使用,其他源文件不能使用。 作用域变小,与全局变量相似。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值