C语言——C语言常用关键字总结(新手 还请不吝赐教)(一)

先总结一下常用的关键字,在后期的学习中会进行一一解释补充

auto(自动) break(中断循环) switch …… case char(字符类型) const (定义常变量) continue(继续循环) default
do……while double(双精度浮点型) if …… else enum(枚举型) extern(外部变量声明符) float(单精度浮点型) for goto
int (整型) long(长整型) register(寄存器操作符) return(返回) short(短整型) signed(有符号,通常省略) sizeof(计算字符串长度 单位:字节) static(静态变量) struct(结构体) typedef(类型定义符、可理解为类型重命名) union(联合体/公用体) unsigned(无符号) viod(无) volatile

这里挑选几个我会的进行简单的介绍:
extern:
C语言——C语言常用关键字总结(新手  还请不吝赐教)(一)
C语言——C语言常用关键字总结(新手  还请不吝赐教)(一)
如图,我创建了两个.c文件,将document定义在“test 辅助.c”文件内,当需要在test C关键字介绍 文件内使用document时,可以使用extern 声明外部符号,直接进行引用,无需重复定义。
typedef :
例:
此时我们定义一个无符号整型数
int main()
{
unsigned int a = 20;
printf("%d\n", a);
return 0;
}
如上操作,unsigned int 类型符 太过复杂,此时我们可以使用typedef 去重新定义unsigned int 这个类型符的名字,如下操作
typedef unsigned int u_int ; // 注:typedef后面必须跟类型符 之后在有一个自己想要的名字
u_int b=20;
此时b和a是同种类型的
static :1、延长局部变量的生命周期 2、改变全局变量的作用域 3、static 修饰函数
1、如图:
C语言——C语言常用关键字总结(新手  还请不吝赐教)(一) C语言——C语言常用关键字总结(新手  还请不吝赐教)(一)
我们输入这样一个函数体,输出的结果为5个1,因为a是一个局部变量,当其出了自己的运行空间后,a的生命周期就结束了,因此当主函数再次调用test函数时,a的值又变回了0,所以经过5次输出,a的值都为1;
当在int a前加上static时,输出结果变为1,2,3,4,5;经过调试,发现static语句,函数只执行了一次,即主函数第二次调用test函数时,直接跳过了static这个语句,执行a++,a的值没有再次被置0;这说明static关键字可以延长局部变量的生命周期,并具有记忆功能。
C语言——C语言常用关键字总结(新手  还请不吝赐教)(一)
2、又如extern 那个例子,我们在test辅助 这个文件中的全局变量document前加上一个static后,再次编译程序,就会发现会报如下错误(无法解析外部指令)。static让本能调用的全局变量失效了,这证明其改变了全局变量的作用域;让静态全局变量只能在自己所在的原文件内部使用
C语言——C语言常用关键字总结(新手  还请不吝赐教)(一)

C语言——C语言常用关键字总结(新手  还请不吝赐教)(一)
3、static修饰函数时,类似于修饰全局变量,一个函数本身具有外部链接属性,经过static修饰后,函数体只能用在本身所在的原文件中使用;
C语言——C语言常用关键字总结(新手  还请不吝赐教)(一)C语言——C语言常用关键字总结(新手  还请不吝赐教)(一)
如上图所示操作,在test辅助文件中定义test函数,在test C关键字介绍中引用test函数,通过extern声明,函数是可以成功运行输出1,2,3,4,5,的,但在test()前面加上static关键字后,系统就会报如下错误,找不到test函数;此时static改变了函数的连接属性;
C语言——C语言常用关键字总结(新手  还请不吝赐教)(一)

猜你喜欢

转载自blog.51cto.com/15126924/2656501
今日推荐