9-初识常见关键字

C语言关键字

1、C语言提供的关键字。不能自己创建关键字

2、变量名不能是关键字

 

关键字auto

对于局部变量,每个局部变量都是auto形式,auto是自动的意思。因为变量都这样(局部变量都是自动创建自动销毁),所以auto被忽略,可以省略掉

注:auto还有其它用法

#include <stdio.h>
int main()
{
	auto int arr = 5; //auto在这里代表的是自动创建,自动销毁(变量)
	int arb = 6;
	printf("%d\n",arr);
	printf("%d\n",arb);
	return 0;
}

Break

跳出循环

Case

和Switch搭配使用

Char

字符类型

const

修饰变量,变成常变量

continiu

继续

default

默认

do

do while循环

double

双精度

else

否则

enum

枚举类型

extern

是用来声明外部符号的

float

单精度浮点型

for

for循环

goto

if

int

register

寄存器关键字

#include <stdio.h>
int main()
{
	register int num = 100;//建议num的值存放在寄存器中
	//计算机中的数据可以存放到硬盘、内存、缓存、寄存器(越往后面速度越快,大小越小,造价也越高)
	//大量、频繁被使用的数据,想放在寄存器中,提升效率
	printf("%d\n",num);
	return 0;
}

Return

返回

Short

短整型

signed

有符号位

Unsiged

无符号位

static

静态的

1、static修饰局部变量

#include <stdio.h>
void test()
{
	int a = 1;
	a++;
	printf("%d", a);
}
int main()
{
	int i = 0;
	while (i<10)
	{
		test();
		i++;
	}
	//每调用一次test函数,局部变量a都=1,都会创建局部变量a并且赋值为1。第一次打印a=1->a=2。第一次调用完后就销毁掉变量a。
	return 0;
}
#include <stdio.h>
void test()
{
	static int a = 1;
	a++;
	printf("%d", a);
}
int main()
{
	int i = 0;
	while (i<10)
	{
		test();
		i++;
	}
	//每调用一次test函数,因为有static关键字的存在,所以局部变量a不会被自动销毁,所以会被累加上去,所以局部变量a的生命周期变长了
	return 0;
}

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

内存划分成:栈区、堆区、静态区

栈区存放局部变量、函数的参数

堆区存放动态内存的分配

静态区存放全局变量的static修饰的静态变量

当我们使用static做变量的修饰时,本质上其实是把变量从存放栈区变成存放在静态区,因为静态区内static修饰的静态变量和全局变量的生命周期一样长(也就是程序没结束,static不销毁)。所以本质上,static修饰局部变量改变的是变量在内存中存放区域以此来改变生命周期

2、static修饰全局变量

static修饰全局变量,让这个全局变量只能在被修饰的全局变量所在的源文件.c内部可以使用,其它源文件不可以使用。

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

 

3、static修饰函数

 static修饰函数,使得函数只能在自己所在的源文件内部使用,不能在其它源文件内使用。

本质上:static是将函数的外部链接属性变成了内部链接属性!(与static修饰全局变量一样)

struct

结构体语句

typedef

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

#include <stdio.h>
typedef unsigned int u_int;
int main()
{
	unsigned int num = 100;
	u_int a = 50;
	printf("%d\n",num);
	printf("%d\n",a);
	return 0;
}

 

 

union

联合体(共用体)

void

无-空

volatile

 

while

 

关于Define和include

define

预处理指令:在预编译期间处理的指令,称之为预处理指令

include

预处理指令

 

posted @ 2022-09-03 20:39  裆朝大学士  阅读(17)  评论(0)    收藏  举报