初识C语言(4)

目录


11、常见关键字

1.C语言提供了丰富的关键字,这些关键字都是语言本身预先设定好的,具有特定含义、专门用作特定用途的C语言标识符,也称保留字,用户自己是不能创造关键字的。 标准C语言中共有32个关键字。

2.分类

(1)数据类型关键字:char(字符型),int(整形),double(双精度浮点型),float(单精度浮点型),short(短整型),signed(有符号的),unsigned(无符号的),long(长型),struct(结构体类型),union(共用体类型),enum(枚举类型),void,

(2)存储类型关键字:auto,static,register(寄存器),extern(声明外部符号)

(3)其它关键字:const(修饰常变量),sizeof(计算类型或变量所占内存空间的大小),volatile,typedef(类型重命名)

(4)控制语句关键字:break,continue,if,else,switch,case,default,goto,do,while,for,return(返回)

3.补充

(1)特定字-就是特殊含义的标识符,虽然不是关键字,但习惯上把他们看成关键字。有:

define,endif,line,include等

(2)标识符

            用途:所谓标识符就是用来标识在C语言中出现的符号常量、变量、数据类型、函数和语句的字符序列。

         定义:C语言规定,标识符由字母、数字、下划线组成,且第一个字符不能使用数字字符。

        标识符需注意以下几点:

         1、标识符的有效长度随系统而异,建议标识符不要超过8个字符。如student_num

         2、标识符命名的良好习惯——见名知意。如:name(姓名)、age(年龄)

         3、C语言的关键字和特定字不能用作用户自定义的标识符

         4、C语言区分大小写。如Name和name是不同的标识符

         5、C语言有许多库函数,尽量不要与库函数同名


先介绍以下几个关键字,后期遇到讲解。

11.1 关键字 typedef

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

11.2 关键字static

C 语言中:
static 是用来修饰变量和函数的
1. 修饰局部变量 - 称为静态局部变量
2. 修饰全局变量 - 称为静态全局变量
3. 修饰函数 - 称为静态函数

11.2.1修饰局部变量

如上,我们可知: 

1、内存图

 2、

      (1)普通的局部变量是放在栈区上的,这种局部变量进入作用域创建,出了作用域释放。

      (2)但是局部变量被static修饰后,这种变量就放在静态区,放在静态区的变量,创建好后,直到程序结束才释放。

      (3)本质上:static的修改改变了局部变量的存储位置,因为存储位置的差异,使得执行效果不一样。

注意:被static修饰是不影响作用域的!!!但是生命周期发生了变化,变长了。

11.2.2static修饰的全局变量

从上机实践中我们发现:

(1)全局变量本身是具有外部链接属性的,在A文件中定义的变量,在B文件中可以通过[链接]使用(extern-声明外部符号)

(2)但是如果全局变量被static修饰,这个外部链接属性就变成了内部链接属性,这个全局变量只能在自己所在的源文件内部使用

(3)static的修饰,会把外部链接属性变成内部链接属性,最终使得全局变量的作用域变小了

11.2.3修饰函数

从截图我们可知:

(1)函数本身是具有外部链接属性的

(2) 函数被static修饰后,外部链接属性就变成了内部链接属性,使得这个函数只能在自己所在的源文件内部使用,其他源文件无法使用(限制 了作用域)

总结:

(1)局部没有链接,全局才有链接

(2)static修饰局部变量不影响作用域!!!但是生命周期变长了

(3)static修饰全局变量和函数,限制的是作用域

(4)函数没有生命周期,他只是一个代码

补充:

#include“add.c”??(不建议)

头文件:

类型的定义

头文件的包含

函数的声明

11.3关键字register-寄存器

register-寄存器

计算机上,数据都可以存储在哪里?

注意:register只是建议的作用,会不会放在寄存器,编译器决定 

12.#define定义常量和宏

1.#define定义符号常量(也叫标识符常量)

格式:#define 常量名 字面常量

2.#define定义宏

格式:#define 宏(形参) 宏体

补充:宏VS函数

 (1)函数的形参有类型

(2)函数有{},

(3)宏一般就处理非常简单的逻辑

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值