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

int a=3;//这里就是初始化。
如果是
int a;a=3;//这样第一句已经有了一个随机初始值了,那后面a=3就不叫做初始化了,叫做赋值语句。
这样理解对不对?
还有就是如果只是int a;编译运行的时候会不会分配内存?

定义不是初始化,int a叫定义,编译时分配内存。如果a不是全局变量会分配一个随机值,如果a是全局变量,则a自动赋初值0。int a=3是定义并初始化,int型还不明显,某些类型,如指针类型,const类型是必须初始化的,否则会报错。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-15
C语言的变量初始化,就是在定义变量的时候,赋予一个初始值。

形式为
type var_name = init_value;
其中init_value就是初始化值了。
类似于
type var_name;
var_name = init_value;
不过,基于编译器的实现,一般初始化值的方式要比先定义后赋值更高效。另外,有些初始化是必须的。比如常量的定义,必须在定义的时候赋予初始化值。
第2个回答  推荐于2017-09-10
你这样理解其实也是可以的
但那只是个临时空间,
如果编译运行会为其分配内存空间,只是你的a没有值,所以系统会给它一个随机值本回答被提问者采纳
第3个回答  2014-07-29
C的局部变量一般是在栈上进行分配的。
栈使用的是RAM,掉电内容丢失,上电内容随机。
这里的随机,一般指其不能确定其内容一定是什么,而不是说其内容完全没有规律,与数学上的随机数没有什么关系。
举个例子,一个字节的RAM,8位有256种可能。数学上讲随机数,那么这个字节上电后应该是256种可能性中某一个。但计算机上不是这样,其上电后的内容一般来说就是0,但你不能保证它一定就是零,有很小的可能它的内容不是0,那么是多少呢?不知道!在程序处理上,你就要认为它的内容是随机的。

回到你的问题,你没有初始化,得到了一个确定的运行结果,为什么?两个可能,这个结果内容就是随机的,只不过结果恰好是这个值而已,但你不能保证下次运行结果,那么你就需要把它当随机值对待。另一个可能,你在不经意间执行了初始化,因为C编译器本身会链接一些初始化程序,这个牵涉到另一个话题,系统是怎么样进行初始化的。

结论,变量应该明确的进行初始化。如果系统不能确定你的变量初值是一个确定的值,那么就需要你自己来做初始化。
第4个回答  2015-09-10
给予变量一个初始的值,以便下次操作

C语言中变量的初始化怎么理解?
C语言的变量初始化,就是在定义变量的时候,赋予一个初始值。形式为 type var_name = init_value;其中init_value就是初始化值了。类似于 type var_name;var_name = init_value;不过,基于编译器的实现,一般初始化值的方式要比先定义后赋值更高效。另外,有些初始化是必须的。比如常量的定义,必须...

C语言中“初始化”的意思是什么
初始化就是给一些变量赋值,请看一下语句:int a = 3;该语句定义了一个整型变量a,并且给它赋值3,我也可以这样说,我将整型变量a初始化为3

c语言中局部变量初始化是什么意思,怎么初始化?
“局部变量初始化”是指在使用这个局部变量前,要对其进行初始化。这是因为局部变量是从内存堆中分配的,用完就还给内存堆,所以被分配的局部变量并不一定是0,而很可能是其他地方用过的一个值,因此在使用这个变量之前,要对它进行显示初始化。初始化可以用两种方式(假设初值为0):声明变量是赋值:in...

变量的赋值和初始化有什么区别
语法上的初始化是指对象定义时,对应的分配空间之后对于值的操作。C语言中,静态和全局变量默认置0,有初始化列表的复制初始化列表的值到空间(如有不足,剩余部分置0),局部自动变量可以不初始化(调试器参与时可能被隐式地初始化为其它的值("debug magic number"),例如默认情况下Microsoft C\/C++ ...

C语言中初始化是什么意思?
1.编码阶段,初始化准备阶段就是发生在编码阶段,你来安排一些事情,比如创造简单变量或是数组或是一个类对象,然后赋值给它们。2.编译器编译阶段,前期编码阶段所做的初始化准备工作真正被“安排”的阶段就在这里(动作展开)。编译器根据你的编码(代码)生成具体做这些事的CPU指令(动作展开),只等到下一...

在c语言中,局部变量初始化是什么意思,要怎么初始化?
按作用域,C语言一般分为全局变量和局部变量。全局变量一旦声明就被默认初始化为适当类型的0,而局部变量被声明的时候其值是不可预料的,所以为了后续程序的正常使用,最好将其认为地初始化,否则有时会有灾难性的后果!第二个问题,例如:int main(){ char a;\/\/没有被初始化,可以在后面初始化...

c语言变量初始化的方式
变量的初始化就是在定义变量的时候,直接对变量进行赋值操作。初始化的方式一般有如下两种:1、直接对变量进行赋予常量数值进行初始化;2、通过同类型变量进行初始化。举例说明如下:\/\/ 以下属于第1种初始化方式int a1=5; \/\/ 整型变量的初始化int b1[]={1,2,3,4}; \/\/ 整型数组的初始化char...

在C语言中,为什么定义变量的时候总是初始化为0呢?该怎么理解。
主要看需求。初始化的目的是为了防止后面没赋值就进行了使用, 变量刚定义的时候,他指向的值是不确定的,所以如果引用了一个没有赋值的变量,由于其值的不确定性,会引起程序异常。如果你后面会引用这个变量做加减操作,可以初始化为 0 ,如果后面做乘除操作,建议初始化为1 。

C语言怎样初始化变量?
就是在定义一个变量的时候给他赋值。比如:……main(){ int i = 0;\/\/这里就是C的初始化 i = 3;\/\/这里是正常的语句 printf("%d\\n", i);} 如果你不写int i = 0; 只是 int i;如果你一旦漏写了 i = 3;那么你再写 printf("%d", i);可能出现乱码,而你找不出来。如果你写了i ...

c语言中,变量为什么要初始化为0?
原因:sum的初始化为0,也就是令sum等于0,防止下面使用的时候,sum是一个不可预料的值。1、常量其值不可改变,符号常量名通常用大写。2、变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不...

相似回答