C语言中变量的初始化怎么理解?

Python017

C语言中变量的初始化怎么理解?,第1张

C语言的变量初始化,就是在定义变量的时候,赋予一个初始值。

形式为

type var_name = init_value

其中init_value就是初始化值了。

类似于

type var_name

var_name = init_value

不过,基于编译器的实现,一般初始化值的方式要比先定义后赋值更高效。另外,有些初始化是必须的。比如常量的定义,必须在定义的时候赋予初始化值。

C语言中定义int变量,默认值是多少

专业回答

区分变量的类型,有两种情况。

1 局部变量。

局部变量在没有显式初始化时,其值C语言规范没做要求,可以是随机值,也可以是编译器随意给定的值。

比如gcc编译器的局部变量就是随机值,可能为任何值。而微软的编译器,如VC或VS,则会初始化为全c,即0xCCCCCCCC。

2 全局变量或静态局部变量。

所有的全局变量,即定义在函数外的变量,默认值为0。

所有的静态局部变量,即定义在函数内部的

static int name

形式的,默认初始化为0。

满意回答

如果是定义的全局变量或者静态变量,未初始化的话就是0.如果是局部变量,那就是以前残留在堆栈里的随机值。

摘自百度知道

很多人有说明了,不过我的讲解有些不一样,喜欢请给个小心心哟~

楼上这些回答都没有弄明白楼主到底想要的是什么,只是照搬书本上学到的解释,这远远不够啊。答题就跟理解作文主题一样,跑题了答的再好也是跑题,远离主旨意义不是一条线似是而非,其实大家解答的也不能算离题,就是没抓住楼主想要的根源,话不多说请看解释:

先说下程序运行前的几个准备阶段

1.编码阶段,初始化准备阶段就是发生在编码阶段,你来安排一些事情,比如创造简单变量或是数组或是一个类对象,然后赋值给它们。

2.编译器编译阶段,前期编码阶段所做的初始化准备工作真正被“安排”的阶段就在这里(动作展开)。编译器根据你的编码(代码)生成具体做这些事的CPU指令(动作展开),只等到下一阶段生成可执行程序被用户执行时,就可以真正控制CPU产生动作了(用户执行一声令下干就完了)

3.可执行文件,通过链接器把编译的文件链接生成最终可执行文件给用户使用,执行产生控制CPU的具体动作,到了这里算是初始化真正被执行的阶段。

至此,程序员360度空中翻滚中旋转跪地泪流满面: 经过几个阶段铺垫准备,初始化效果终于可以江湖现身了,呜呜~

天下风云出我辈,一入江湖岁月催..