C语言深度解剖-关键字1
目录
1.初步了解关键字
C语言一共多少个关键字呢?
现在主流的编译器大多支持C90(C89)的标准,
所以我们认为C语言的关键字有32个。
如下:
auto : 声明自动变量
short : 声明短整型变量或函数
int: 声明整型变量或函数
long : 声明长整型变量或函数
float: 声明浮点型变量或函数
double :声明双精度变量或函数
char : 声明字符型变量或函数
struct: 声明结构体变量或函数
union: 声明共用数据类型
enum : 声明枚举类型
typedef:用以给数据类型取别名
const : 声明只读变量
unsigned:声明无符号类型变量或函数
signed: 声明有符号类型变量或函数
extern: 声明变量是在其他文件正声明
register:声明寄存器变量
static : 声明静态变量
volatile: 说明变量在程序执行中可被隐含地改变
void : 声明函数无返回值或无参数,声明无类型指针
if: 条件语句
else : 条件语句否定分支(与 if 连用)
switch : 用于开关语句
case: 开关语句分支
for: 一种循环语句
do : 循环语句的循环体
while : 循环语句的循环条件
goto: 无条件跳转语句
continue:结束当前循环,开始下一轮循环
break: 跳出当前循环
default:开关语句中的“其他”分支
sizeof : 计算数据类型长度
return : 子程序返回语句(可以带参数,也可不带参数)循环条件
2.第一个C程序
-
-
-
//文本代码->可执行程序(二进制文件)->双击启动该程序
-
//生成可执行程序并运行
-
int main()
-
{
-
printf("hello world!\n");
-
return 0;
-
}
输出:
输出:hello world!
在编译代码后,在文件中产生的exe后缀的文件双击就能运行出一样的结果。
在win中,双击的本质是运行程序,将程序加载到内存,
任何程序被运行之前都要被加载到内存中。
注:
1.程序没有被加载的时候,存放在硬盘中。
2.程序加载到内存中的原因是内存运行速度快。
3.深刻理解变量
是什么?
变量是在程序运行时,在栈上开辟的的内存空间。
所以:所有变量本质都是在内存中某个位置开辟空间。
怎么用?
-
int main()
-
{
-
//初始化
-
int a = 10;
-
double b = 1.0;
-
char c = 'c';
-
-
//赋值
-
c = 'd';
-
-
return 0;
-
}
为什么?
计算机是为了解决人计算能力不足的问题而诞生的。
即,计算机是为了计算数据。
而计算数据不一定是一下子(指时间短暂或动作迅速)(指时间短暂或动作迅速)用完全部数据,
换句话说,为何需要变量?因为有数据需要暂时被保存起来,等待后续使用。
4.深刻理解定义与声明
1.定义变量的本质:在内存中开辟一块空间,用来保存数据
2.定义只有一次,声明可以有多次。
5.auto关键字的理解
auto是用来修饰局部变量的:
例:
-
-
-
int main()
-
{
-
for (int i = 0; i < 10; i )
-
{
-
printf("%d ", i);
-
if (1)
-
{
-
auto int j = 0; //自动变量
-
printf("%d ", j);
-
j = 1;
-
printf("%d \n", j);
-
}
-
}
-
return 0;
-
}
输出:
-
输出:
-
0 0 1
-
1 0 1
-
2 0 1
-
3 0 1
-
4 0 1
-
5 0 1
-
6 0 1
-
7 0 1
-
8 0 1
-
9 0 1
总结:
auto 现在几乎已经没有人用了,它的修饰作用可有可无。
6.理解关键字register
register 是寄存器的意思
认识:
距离CPU越近的存储硬件,速度越快。
而CPU内集成了一组存储硬件即可,这组硬件叫做寄存器
本质:
在硬件层面上,为提高计算机的运算效率,从寄存器中读取数据。
register 修饰变量
尽量将所修饰变量,放入CPU寄存区中,从而达到提高效率的目的。
例:
-
-
-
int main()
-
{
-
register int a = 10;
-
printf("%d\n", a);
-
return 0;
-
}
输出:
输出:10
注:
1.采用寄存器的变量不能取地址(&)。
2.最好是局部变量(全局会导致CPU寄存器被长时间占用)。
3.最好是高频被读取的变量(提高效率所在)。
4.寄存器数量有限,不能大量使用。
写在最后:
如果喜欢本文的话,欢迎点赞和评论,写下你的见解。
如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。
之后我还会输出更多高质量内容,欢迎收看。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgggggc
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13