提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
今天我们一起学习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的作用:
- 修饰局部变量
- 修饰全局变量
- 修饰函数
一、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;
}
总结
以上就是今天要做的笔记的内容,本文仅仅简单介绍了部分关键字的作用。