C语言部分关键字讲解【挑战200天PAT甲级(4)】2021-07-09

本文详细介绍了C语言中的一些关键字,包括auto(局部变量)、register(优化变量存储)、typedef(类型别名)、static(静态属性)的使用和作用。通过实例展示了它们在内存管理、函数调用和跨文件访问等方面的影响,帮助读者深入理解C语言的关键特性。
摘要由CSDN通过智能技术生成

一、C语言的关键字们

1.常见关键字
在这里插入图片描述
2.部分关键字讲解
(1)auto:

int main()
{
	auto int a = 10;//局部变量 - 自动变量
	return 0;
}

局部变量 = 自动变量
一般局部变量前都有,局部变量自动创建,自动销毁,前面其实省略了auto。

(2)register(寄存器):

首先介绍一下为什么要使用寄存器。

计算机存储数据可以存在以下几个地方:
在这里插入图片描述
计算机读取一些数据是“分级”的,访问速度等级划分大概为寄存器>高速缓存>内存>硬盘。 CPU从这些存储器中读取数据,起初CPU速度与内存是匹配的,但是随着科技发展,CPU读取速度更快,内存无法与之匹配了。为了提高效率就更多地利用寄存器了。
在这里插入图片描述
所以,寄存器就是为了更加便捷效率而存在的。

register int a = 10;
//建议把a定义成寄存器变量
//一般应用在变量要被大量使用的时候
//定义成寄存器变量CPU将会读取的更快

(3)typedef:

type - 类型,是关于类型的定义,可以理解为类型重命名。
(据说数据结构可能还能用到)

typedef unsigned int u_int;
//unsigned 声明无符号整型
//格式:typedef - 类型定义 - 类型重定义

(4)static:

1.可修饰局部变量 - 静态局部变量
2.可修饰全局变量 - 静态全局变量
3.修饰函数 - 静态函数

举例:

void test()
//void声明函数无返回值或无参数,声明无类型指针
{
	int a = 1;
	a++;
	printf("a = %d\n", a);
}
int main()
{
	int i = 0;
	while (i < 5)
	//while循环
	{
		test();
		i++;
	}
	return 0;
}

运行结果:
在这里插入图片描述
如果加上static会怎么样呢?

static int a = 1;
//在int a前加上static

运行结果:
在这里插入图片描述
得出结论:

a是局部变量,本来是要在一次运行后“销毁”的,可是增加了static,使a变成了一个静态(不动它)的局部变量,于是a后来没有“销毁”。

要是static修饰全局变量呢?
我们新建一个文件,添加一个全局变量,并为它加上static
在这里插入图片描述
再在另一个文件中打印这个变量(在之前的文章中做过实验,使用extern函数可以跨文件的使用全局变量)

运行结果:
在这里插入图片描述
static修饰函数会怎么样?

在一个文件中定义一个函数
在这里插入图片描述
再在另一个文件中调用添加了static的函数
在这里插入图片描述
运行结果:
在这里插入图片描述
得出结论:

注:在函数那块是改变了函数的链接属性
在这里插入图片描述

(5)int:
int定义有符号变量
(6)struct:
结构体关键字
(7)union:
联合体/共用体

......
//还有诸多关键字之后使用到将详细说明
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值