当前位置:网站首页>我的c语言进阶学习笔记 ----- 关键字
我的c语言进阶学习笔记 ----- 关键字
2022-06-26 23:10:00 【Ana_ing】
前言
这是我自己在学习c语言基础后,产生兴趣想继续深入学习,故开篇文章来记录一下,这段时光,这个最坏的时光,也是最好的时光。
关键字
c语言标准定义的32个关键字
关键字 意义
auto 声明自动变量,缺省时编译器一般默认auto
int 声明整形变量
double 声明双精度变量
long 声明长整型变量
char 声明字符型变量
float 声明浮点型变量
short 声明短整型变量
signed 声明有符号类型变量
unsigned 声明无符号类型变量
struct 声明结构体变量
union 声明联合体数据类型
enum 声明枚举类型
static 声明静态变量
switch 用于开关语句
case 开关语句分支
default 开关语句中的“其他”分支
break 跳出当前循环
register 声明寄存器变量
const 声明只读变量
volatile 说明变量在程序执行中可被隐含的改变
typedef 主要用以给数据类型取别名
extern 声明变量是在其他文件中声明
return 子程序返回语句(可以带参数,也可以不带参数)
void 声明函数无返回值或无参数,声明空类型指针
continue 结束当前循环,开始下一轮循环
do 循环语句的循环体
while 循环语句的循环条件
if 条件语句
else 条件语句否定分支(与if连用)
for 一种循环体
goto 无条件跳转语句
sizeof 计算对象所占内存空间大小
(22条消息) C语言标准定义的32个关键字_dengchuanjing的博客-CSDN博客_c语言用户标识符32个
https://blog.csdn.net/dengchuanjing/article/details/79265323
什么是定义,什么是声明?
定义就是编译器创造一个对象,为这个对象分配一堆内存并取上一个名字,变量名和对象名。
声明:第一重含义就是告诉编译器,这个名字已经匹配到一块内存上了,下次可以直接用变量名,声明可以多次出现。第二重含义是告诉编译器,这个名字已经预定了,别的地方不能再将他作为变量名,注意是作为变量名而不是用。比如
int i;定义
extern int i;声明
其他的关键字
auto
就当他不存在吧,编译器默认所有的变量都是auto
register
register请求编译器尽可能的将变量存在cpu内部寄存器中,而不是通过内存寻地址访问。
最快的调用
而寄存器则是,cpu与内存条之间的中转站,cpu访问速度快但造价工艺成本高
同时register变量不能用&来获取register变量地址
static
先来说说
静态全局变量:作用域仅限于变量被定义的文件中,其他文件即使使用extern声明也没法使用它
静态局部变量:在函数体内定义,只能在该函数里用了。即使这个函数运行结束,这个静态变量的值也不会被销毁,函数下次还能用到这个值。
static int i;//全局变量
void fun1(void)
{
static i++;//静态局部
}
修饰函数,变成静态函数,好处是不用担心自己定义的函数是否会与其他文件函数同名。
基本数据类型

(1)短整型 short(内存中占2个字节)
是short int 的简写。
取值范围:-32768 ~ + 32767 (2 Bytes)
定义常量:short a = 5;
(2)整型int(long int) (4字节)
long是long int 的简写。
取值范围:-2147483648 ~ +2147483647 (4 Bytes)
定义:
int a = 0; //定义最好进行初始化
long a = 0;
//上述两种定义相同。
(3)长整型long long (8字节)
PS:(1)C语言标准是这样规定的:int最少16位(2字节),long不能比int短,short不能比int长,具体位长由编译器开发商根据各种情况自己决定。
(2)32位平台下long 是4个字节,long long 是8字节;但是64位平台下则全是8字节。因此为了保证平台的通用性,程序中尽量不要使用long数据类型。
2、浮点型
(1)单精度float
系统的基本浮点类型。至少能精确表示小数点后6位有效数字。
一个float类型占用4个字节的存储位。
其中最高位为符号位,紧接着8位为指数位,剩下的23位为尾数位。
格式说明符:%f
(2)双精度double
双精度浮点类型。至少能精确表示小数点后12位有效数字。
一个double类型占用8个字节的存储位。
最高位为符号位,紧接着8位为指数位,剩下的52位为尾数位。
格式说明符:%lf
(3)字符型

数组
是按照顺序存储的一系列类型相同的值,如10个char类型的字符或15个int类型的值。整个数组有一个数组名,通过整数下标访问数组中单独的项或元素。
例如:以下声明:
float debts[20];//声明debts是一个内容20个元素的数组,每个元素都可以存储float类型的值。数组的第一个元素是debts[0],第2个元素是debts[1],以此类推,直到debts[19]。注意,数组元素的编号从0开始,不是从1开始。可以给每个元素赋float类型的值。
例如,可以这样写:debts[5] = 32.54;debts[6] = 1.2e + 21;实际上,使用数组元素和使用同类型的变量一样。
结构体
是一种自定义的复合数据类型。例如存储学生信息就会用到此种数据类型。
共用体
也叫联合体,使几个不同类型的变量共占一段内存(相互覆盖),也就是说共用体的成员共用一片内存,后赋值的成员变量的数据才是共用体的生效数据,因为前面的赋值已经被覆盖了。共用体所占内存至少能够容纳最大的成员变量所需的空间
边栏推荐
- 【界面】pyqt5和Swin Transformer对人脸进行识别
- 分享三种在Excel表格中自动求和的方法
- ASP. Net core create MVC project upload file (buffer mode)
- 【混合编程jni 】第六篇之native 中字符串和数组的操作
- L'outil de nettoyage des données flashtext améliore directement l'efficacité de plusieurs dizaines de fois
- Weaving dream collection plug-ins are recommended to be free collection plug-ins
- How to download on selenium computer -selenium download and installation graphic tutorial [ultra detailed]
- Do an online GIF synthesis service at no cost
- [710. random numbers in the blacklist]
- What are the preferential activities for stock account opening? Is it safe to open a mobile account?
猜你喜欢
随机推荐
[mixed programming JNI] Part 9: JNI summary
[strong foundation program] video of calculus in mathematics and Physics Competition
【混合编程jni 】第七篇之JNI 的命令行们
运筹说 第66期|贝尔曼也有“演讲恐惧症”?
DAST black box vulnerability scanner part 5: vulnerability scanning engine and service capability
【混合编程jni 】第十一篇之JNA详情
买基金在哪里开户买比较安全
The processing of private chat function in go language
[mixed programming JNI] Part 6: operation of strings and arrays in native
Redcap is ready to come out. It is indispensable to build a "meta universe"
Leetcode - the best time to buy or sell stocks
Share three methods of automatic summation in Excel
中金证券经理的开户链接开户买股票安全吗?有谁知道啊
go语言的服务发现、存储引擎、静态网站
300 questions lesson 3 vector group
Is it reliable to open an account for stock trading on the mobile phone? Is it safe to open an account for stock trading on the Internet
PHP代码审计系列(一) 基础:方法、思路、流程
WordPress collection plug-ins are recommended to be free collection plug-ins
BS-GX-016基于SSM实现教材管理系统
Unity初学者肯定能用得上的50个小技巧








![[微服务]认识微服务](/img/62/e826e692e7fd6e6e8dab2baa4dd170.png)