所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

赋初值是什么意思?

发布时间:2020-04-12 08:49:54

资讯分类:初值  变量  是一个  这就是
赋初值是什么意思?

就是给一个变量赋一个值,比如说:int a;a=10;int a表示a是一个整型变量,a=10表示让a等于10,这就是赋值。

赋初值是什么意思?

这实际上和你的编译器有关,无非就是mem里面的存的值的问题

如果不赋初值,且你的devC++如果工具链是TDM-GCC,那么它会给第一个调用的非静态全局变量赋0,第二个调用的非静态全局变量赋1

我这里说调用意思是你在函数中''使用''了这个变量,类似printf和你的sum

前面说了和编译器有关,linux环境下mingw编译输出是0

尝试用MinGW编译后,用gdb反汇编,这是你这段代码的x86反汇编码

rbp是帧指针register,rsp是存栈顶指针的register(这里都是64位机器)

push入栈没什么好说的,第一个mov把rbp的值给rsp,sub让rsp指针偏移一段距离(16位),其实这里就是一个活动记录的存储

所以你不赋初值,那么用的就是原来寄存器里面的值,一般来说默认都是0(或者是上一次用过的没clean的值)

所以,好的习惯应该时刻记住声明变量就要初始化

留言与评论(共有 0 条评论)
   
验证码:
Top