C语言关键字

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

今天我们一起学习C语言第五弹。


提示:以下是本篇文章正文内容,下面案例可供参考

一、关键字有什么?

auto声明自动变量
break跳出当前循环
switch用于开关语句
case开关语句分支
char声明字符型变量或函数
int声明整型变量或函数
short声明短整型变量或函数
long声明长整型变量或函数
float声明浮点型变量或函数
double声明双精度变量或函数
struct声明结构体变量或函数
union声明共用数据类型
enum声明枚举类型
typedef用以给数据类型取别名
const声明只读变量
unsigned声明无符号类型变量或函数
signed声明有符号类型变量或函数
extern声明变量是在其他文件正声明
register声明寄存器变量
static声明静态变量
volatile说明变量在程序执行中可被隐含地改变
void声明函数无返回值或无参数,声明无类型指针
if条件语句
else条件语句否定分支(与 if 连用)
switch用于开关语句
case开关语句分支
for一种循环语句
do循环语句的循环体
while循环语句的循环条件
goto无条件跳转语句
continue结束当前循环,开始下一轮循环
break跳出当前循环
default开关语句中的“其他”分支
sizeof计算数据类型长度
return子程序返回语句(可以带参数,也可不带参数)循环条件

二、关键字的作用的举例

1.auto示例:

代码如下(示例):

//auto的作用示例:
#include<stdio.h>
int main()
{
auto int a=10;//局部变量(自动变量),自动创建,自动销毁(auto可以省略掉)
return 0}

2.register示例:

//register - 寄存器
//计算机上的储存设备:硬盘,内存,高速缓存,寄存器(4 byte)
#include<stdio.h>
int main()
{
	register int nm=100;//建议把100放在寄存器中储存(频繁大量的使用)
	return 0;
}

在这里插入图片描述

3.typedef示例:

代码如下(示例):

//typedef - 类型重命名
#include<stdio.h>
typedef unsigned int uint;
int main()
{
	unsingned int num1=100;
	uint num2=200;
	retuen 0;
}

3.static示例:

static的作用:

  1. 修饰局部变量
  2. 修饰全局变量
  3. 修饰函数
一、static修饰局部变量时:

一个普通的局部变量是放在栈区的 ,而被static修饰的局部变量,是放在内存的静态区的存储位置发生变化这使得局部变量出了作用域不会被销毁,而影响了变量的声明周期(并不是说static修饰的a不能被修改)

#include<stdio.h>
void test()
{
	int a = 1;
	a++;
	printf("%d ", a);
}
int main()
{
	int i = 0;
	while (i < 10)
	{
		test();
		i++;
	}
	return 0;
}

在这里插入图片描述

在这里插入图片描述
但当用static修饰后就会发生如下改变:

#include<stdio.h>
void test()
{
	static int a = 1;
	a++;
	printf("%d ", a);
}
int main()
{
	int i = 0;
	while (i < 10)
	{
		test();
		i++;
	}
	return 0;
}

在这里插入图片描述

二、static修饰全局变量

1.一个全局变量在整个工程中都可以使用,全局变量具有外部链接属性,在其他源文件内部只要适当声明就可以使用
2.但static修饰全局变量时,全局变量的外部链接属性就变成了内部链接属性,只能在自己所在的.c文件中使用,其他的.c文件中不可以使用,影响了变量的作用域

#include<stdio.h>
int g_val = 2022;
int main()
{
	printf("%d\n", g_val);
	return 0;
}

当然也可以写成以下这种形式不过必须声明一下才可以
在这里插入图片描述
但是当用static修饰时就会发生错误
在这里插入图片描述

三、static修饰函数

1.函数具有外部链接属性,在其他源文件内部只要适当声明就可以使用
2.但static修饰函数时,函数的外部链接属性就变成了内部链接属性,只能在自己所在的.c文件中使用,其他的.c文件中不可以使用,最终相当于影响了作用域

#include<stdio.h>
int Add(int x,int y)
{
	int z=x+y;
	return z;
}
int main()
{
 	int a=10;
 	int b=20;
 	int sum=Add(a,b);
 	printf("%d\n",sum);
 	return 0;
}

在这里插入图片描述

4.define示例:

1.定义常量

#include<stdio.h>
#define M 100
#define STR "hello word"
int main()
{
	printf("%d\n",M);
	printf("%s\n",STR);
}

2.定义宏

#include<stdio.h>
#define MAX(x,y) ((x)>(y)?(x):(y))
int main()
{
	int a=10;
	int b=20;
	int m=MAX(a,b);
	printf("%d\n",m);
	return 0;
}

总结

以上就是今天要做的笔记的内容,本文仅仅简单介绍了部分关键字的作用。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小沈YO.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值