C语言 常见关键字 —— 一些特殊关键字的用法

 常见关键字 

  1. C语言提供的,不能自己创建
  2. 变量名不能关键字

auto 、break、case、char、const(常变量)、continue、default(默认)、do、double、else、enum(枚举)、extern(是申明外部符号的)、float、for、goto、if、int、long、register(寄存器关键字)、return、short、signed(有符号的)、sizeof、static(静态的)、struct、switch、typedef(类型定义)、union(联合体、共用体)、unsigned、void(无或空)、volatile(提现C语言段位的关键字)、while

 auto 自动的 —— 每个局部变量都是auto修饰

#include<stdio.h>
int main(void)
{
	int a = 10;   //a进了{}就创建,出了{}就销毁,自动创建自动销毁 —— 自动变量
	//auto int a = 10; 里面的auto省略了
	//auto 新的C语言中也有其他用法,暂时不考虑
 
	printf("%d\n", a);
	
	return 0;
}

register 寄存器关键字

计算机中数据可以存储到哪里呢?

可以存到  内存、硬盘、网盘、高速缓存、寄存器

CPU 中央处理器    ——  早期 数据来源于 内存,后来CPU速度越来越快,内存读取速度跟不上,就有了 高速缓存、寄存器(读取速度非常快)

#include<stdio.h>
int main(void)
{
	//大量、频繁被使用的数据,想放在寄存器中,提升效率
	register int a = 10;   //建议将a的值存放在寄存器中
	//现在的编译器已经很聪明,即使没写register,它认为该放进去还是会放进去
	printf("%d\n", a);
	return 0;
}

问: define、include 是不是关键字?

答:不是,它们是预处理指令。

typedef(类型定义):类型重定义,可以把复杂类型简单化

#include<stdio.h>
typedef unsigned int u_int;
int main(void)
{
	unsigned int num1 = 100;   //如果不想每次写这么长,可用typedef 把 unsigned int 重新定义为 u_int
	u_int num = 120;   //跟上一行代码意思一样
	printf("%d\n", num);
	return 0;
}

 static 静态的

  1. 修饰局部变量 
  2. 修饰全局变量
  3. 修饰函数

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

 举例:

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

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

 举例:

 static 修饰函数,使得函数只能在自己所在的源文件内部使用,不能在其他源文件内部使用,本质上:static 是将函数的外部链接属性变成了内部链接属性!(和static修饰全局变量一样!)

 举例:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值