目录
关键字分类:
C语言中总共有多少个关键字呢?一般我们所见的书上都是32个,但是这些书是按照C90或C89的标准,其实C99后又新增了5个关键字,不过我们目前的主流编译器,对C99的支持并不好,接下来我们主要按照C90标准来讲解,即认为32个关键字!接下来我们先简单看一下这32个关键字:
下面我们一个一个的来详解这32个关键字
在了解之前我们得深入认识理解一些知识:
第一个C程序 - 补充内容
以代码的形式解释说明:
//编写第一个C程序"hello world" #include <stdio.h> int main() { printf("hello world!\n"); return 0; } //运行程序的方式,当然可以用vs直接启动 //当然,也可以在vs项目中,找到代码生成的二进制可执行程序,双击即可。 //所以:我们的角色是写代码,编译器的角色是把文本代码变成二进制可执行程序。 //双击?不就是windows下启动程序的做法吗? //那么启动程序的本质是什么呢?就是将程序数据,加载到内存中,让计算机运行!
变量的定义与声明 - 补充内容
因为有些关键字是用来修饰变量的,我们在介绍关键字之前,先来深度了解一下变量!
什么是变量(是什么)?
在内存中开辟特定大小的空间,用来保存数据!
如何定义变量(怎么用)?
int x =10;
char c='a';
double d=3.14;
类型 变量名 = 默认值;
为什么要定义变量?
计算机是为了人类计算能力不足的问题而诞生的,即,计算机是为了计算的。而计算,就需要数据,而在计算的时候,任何一个时刻,不是所有在内存中的数据立马被计算,有时部分数据是不参与运算的,而不需要计算的数据就要被临时的保存起来,等待后续处理,而这些数据我们用变量保存!以供我们后续的使用,使用那个数据就拿取其对应的变量即可!
变量定义的本质
我们知道:1、程序运行需要加载到内存。2、程序计算需要使用变量。那么定义变量的本质就是:在内存中开辟一块空间,用来保存数据(为何一定要保存到内存?因为定义变量也是程序逻辑的一部分,程序已经加载到内存中了,所以变量是在内存中定义的!)
变量声明的本质
通俗一说就是提前告诉编译器我定义了一个变量!
注意:定义只能有一次,而声明可以有多次!
变量的分类 - 补充内容
局部变量:
包含在代码块也就是大括号{}中的变量叫做局部变量,局部变量具有临时性。进入代码块,自动形成局部变量,出了代码块自动释放!
全局变量:
在所有函数外定义的变量,叫做全局变量,全局变量具有全局性!
代码块:
用{}括起来的区域,就是代码块
上代码:
#include <stdio.h> int g_value = 20;//全局变量 int main() { //main函数也是函数,也有{}代码块! int a = 10;//局部变量 printf("%d\n", a); return 0; }
变量的作用域 - 补充内容
作用域的概念:
变量的作用域指的是该变量可以被正常访问的代码区域!
局部变量的作用域:
作用域也就是该变量的作用范围,通俗点说就是该变量只能在定义它的代码块{}内使用,而出了代码块就不能使用了!
全局变量的作用域:
全局变量具有全局性,在整个程序运行期间都有效,作用于整个程序!
上代码:
//局部变量 //只作用于本代码块{} #include <stdio.h> int main() { int x = 10; if (x == 10) { int y = 20; printf("局部: x: %d, y: %d\n", x, y);//y只能在本代码块内有效 } printf("局部: x: %d, y: %d\n", x, y); //报错,y不能被访问 return 0; } //全局变量 //作用于整个程序 #include <stdio.h> int sum = 100;//全局变量 void test(void) { printf("test 全局:%d\n", sum); } int main() { printf("main 全局:%d\n", sum); test(); return 0; } //全局变量和局部变量命名冲突时 #include <stdio.h> int a_b = 25;//全局变量 int main() { int a_b = 30; printf("%d\n", a_b);//30 //局部变量和全局变量命名冲突时,优先使用局部变量! //强烈不建议这样写 return 0; }
变量的生命周期 - 补充内容
生命周期:
指的是该变量从定义到释放的时间范围,所谓释放,指的是曾经开辟的空间被释放!
局部变量的生命周期:
进入代码块,形成局部变量也就是开辟空间,生命周期开始,退出代码块,释放 局部变量,生命周期结束!
全局变量的生命周期:
定义完成之后,程序运行的整个生命周期内,该变量一直有效!
生命周期通俗点讲,可以理解为变量存活的时间,局部变量的作用域跟生命周期都是在出了代码块就失效了,也就是出代码块就死了,而全局变量的生命周期就是整个程序结束才失效!
auto 关键字
最宽宏大量的关键字-auto
一般定义在代码块中的变量,即局部变量,默认都是由auto修饰的,不过省略不写!auto关键字一般默认修饰局部变量,而全局变量不是默认auto 修饰的!注意:我们所听到的,局部变量,自动变量,临时变量,都是一回事,我们统称为局部变量!
上代码:
#include <stdio.h> //全局变量不是默认auto修斯的 auto int g_va = 100;//vs编译器会有警告 int main() { //局部变量默认都是由auto修饰的不过一般省略不写 auto int a = 10; //auto修饰局部变量i for (auto int i = 0; i < 10; i+


4万+

被折叠的 条评论
为什么被折叠?



