发布网友 发布时间:2022-04-25 23:43
共5个回答
热心网友 时间:2023-10-18 11:36
如果是定义的全局变量或者静态变量,未初始化的话就是0.如果是局部变量,那就是以前残留在堆栈里的随机值。
区分变量的类型,有两种情况。
1、局部变量。
局部变量在没有显式初始化时,其值C语言规范没做要求,可以是随机值,也可以是编译器随意给定的值。
比如gcc编译器的局部变量就是随机值,可能为任何值。而微软的编译器,如VC或VS,则会初始化为全c,即0xCCCCCCCC。
2、全局变量或静态局部变量。
所有的全局变量,即定义在函数外的变量,默认值为0。
所有的静态局部变量,即定义在函数内部的static int name形式的,默认初始化为0。
扩展资料:
定义方法:
inti;//定义整形变量i
inti=1;//定义整形变量i并初始化为1
定义常量:
const int i;//编译错误,因为常量需要给予一个初值
const int i=1;//定义常量i,值为1
Java定义常量:
final int i=1;//定义常量i,值为1
热心网友 时间:2023-10-18 11:36
如果是定义的全局变量或者静态变量,未初始化的话就是0.如果是局部变量,那就是以前残留在堆栈里的随机值。热心网友 时间:2023-10-18 11:36
1. 在全局域中声明的变量会自动初始化为0热心网友 时间:2023-10-18 11:37
全局变量或者静态变量,未初始化的话会自动初始化为0,局部变量则为随机数热心网友 时间:2023-10-18 11:38
全局变量默认0,局部变量系统不进行初始化 。