关键字是c语言内置的,可以直接用。
c语言常见关键字汇总
目录
- c语言常见关键字汇总
- auto(automatic-自动的)
- typedef(类型重定义)
- register(寄存器)
- extern(声明)
- static(静态的)
- 1.static修饰局部变量
- 2.static修饰全局变量
- 3.static修饰函数
- #define定义常量和宏
- struct(结构体)
- enum(枚举)
- union(联合)
- 数据类型
- const(常属性)
- 分支、循环、选择语句中用到
auto(automatic-自动的)
用于定义自动变量
typedef(类型重定义)
register(寄存器)
想要讲清楚这个关键字,我们就要对计算机的存储系统有所了解。
其中寄存器的速度最快、但其空间小、造价高。一般只会把使用最频繁的信息放到寄存器中,以提高读取信息的效率。
这个关键字是指把变量放到寄存器中
extern(声明)
声明外部符号
如果想用来自其他文件(外部文件)的全局变量,要先声明一下。
static(静态的)
C语言中static可以修饰局部变量、全局变量、指针。
1.static修饰局部变量
改变了变量的存储类型(栈区->静态区)
使得静态的局部变量出了自己的作用域也不会被销毁
相当于改变了生命周期
2.static修饰全局变量
是因为一个全局变量在整个工程的其他文件内部都能被使用,是因为全局变量具有外部链接属性
当一个全局变量被static修饰时,这个变量的外部链接属性变成了内部链接属性
使得这个全局变量只能在自己所在的源文件内部使用,其他文件不能再使用
给我们的感觉就是作用域变小了
3.static修饰函数
当一个函数被static修饰时,这个变量的外部链接属性变成了内部链接属性
使得这个函数只能在自己所在的源文件内部使用,其他文件不能再使用
给我们的感觉就是作用域变小了
#define定义常量和宏
格式:#define+宏名(一般大写)+宏体
宏和函数很相似
struct(结构体)
运用多个元素描述一个对象,可自定义。
#include<stdio.h>
struct Stu
{
//结构体成员
char name[20];//大小需明确指定
int age;
char sex[10];
};
int main()
{
//创建结构体变量,并且初始化
struct Stu zhangsan = {"张三",30,"男"};
struct Stu lisi = { "李四",24,"女" };
//打印结构体的数据
printf("%s %d %s\n", zhangsan.name, zhangsan.age, zhangsan.sex);
printf("%s %d %s\n", lisi.name, lisi.age, lisi.sex);
return 0;
}//其中用到了.操作符
//结构体成员访问的操作符
//用法:结构体变量.结构体成员
enum(枚举)
enum Color//颜色
{
RED,
GREEN,
BLUE
};
{}中的内容是枚举类型的可能取值,也叫 枚举常量 。
这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。
例如:
enum Color//颜色
{
RED=1,
GREEN=2,
BLUE=4
};
union(联合)
这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合也叫共用体)。
比如:
//联合类型的声明
union Un
{
char c;
int i;
};
//联合变量的定义
union Un un;
//计算连个变量的大小
printf("%d\n", sizeof(un));//4
数据类型
char :声明字符型变量或函数
double :声明双精度变量或函数
float:声明浮点型变量或函数
int: 声明整型变量或函数
long :声明长整型变量或函数
short :声明短整型变量或函数
signed:声明有符号类型变量或函数
unsigned:声明无符号类型变量或函数
void :声明函数无返回值或无参数,声明无类型指针
const(常属性)
const修饰的普通变量:给它赋予常属性,让变量不能直接被人修改。
const int n = 10;
n = 20;// 报错,n不可被直接修改
const修饰指针(可以通过const在*的左边还是右边区分):
-
const在的左边(
const int* p1 = &i;
或int const* p2 = &i;
);//不能通过指针修改变量(const修饰的是指针p指向的内容,指针所指向的内容p不能被修改,但是所以指针本身可以被修改)int i = 10; const int* p = &i; int j = 20; p = &j;
-
const在的右边(
int* const p3 = &i;
)//指针不能被修改(const修饰的是指针p本身,所以指针本身不能被修改,但是指针所指向的内容p可被修改)int i = 10; int * const p = &i; *p = 26;
分支、循环、选择语句中用到
if
else
break(打破、终止)
continue(继续)
switch case
do
while
goto
for
(暂时到此结束,未完成内容以后慢慢填坑)