c语言 初始化

Python015

c语言 初始化,第1张

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

专业回答

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

1 局部变量。

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

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

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

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

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

static int name

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

满意回答

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

摘自百度知道

不是的。全局变量还是局部变量都可以初始化或者不初始化化

,语法没有对这有要求。

但是到实际情况是根据你写的代码来分析。

你写的int

total

=

0;

在你不初始化报错的原因是,int

total

total是没有赋值的一个变量,那他的值就是分配内存中残留的值,属于错误的数据。

你后面用到total+=num[j].一个错误的数据做操作就报错了,就算不报错,你得到的结果是不正确的。

所以在你这个情况,赋值为0

。并不是语法规定。

量的初始化操作的几种方式:

1.在定义的时候直接初始化,比如

b = tf.get_variable("b", b.shape, trainable=False, initializer=tf.constant_initializer(b))

2.在会话中使用sess.run()进行初始化,比如

sess.run(tf.global_variables_initializer()) # 初始化全局变量

sess.run(tf.local_variables_initializer()) # 初始化本地变量

3.如果只想要初始化一部分指定变量,使用:

sess.run(tf.variables_initializer(var_list))

其中,var_list是需要初始化的变量列表。

变量在使用前一定要进行初始化,且变量的初始化必须在模型的其它操作运行之前完成。变量的初始化有三种方式,如程序2-13所示:

程序2-13: