数组不初始化结果为多少,是不是一定是0

如题所述

第1个回答  2012-07-30
要看编译器。建议全部设成0.
int s[100]={0}也不一定全部是0.
最好使用memset
第2个回答  2012-07-30
不一定,分配在全局静态区,栈,堆?
第3个回答  2012-07-30
不是的,未知的!
第4个回答  2012-07-30
不是0的。
第5个回答  2012-07-30
不知你是什么语言,有同的语言是不同的。有的软件会有个初始值,有的不会,是个不可预知的数字,所以正确的操作是对所有定义的数据进行初始化,以免造成问题,对调试不便。

数组不初始化结果为多少,是不是一定是0
不是0,定义数组之后,会分配一个连续的内存空间,如果不初始化,数组的值为随意的垃圾值。因为这部分连续的内存空间是任意分配的,里面的值取决于之前电脑本身用这部分内存时产生的值,一般都是垃圾值。如果你想看看值到底是多少,很简单。先定义一个数组,然后不初始化,然后直接输出数组的值,就可以...

数组没有初始化赋值为0吗
普通数组没有赋初值,默认的数组元素值是随机数,不是0。如果在定义数组时,数据类型前面加上关键字static,数组变成了静态数组;或者把数组定义在函数的外面,成为全局变量数组,这时数组元素的值自动赋值为0。例子:includeint main(void){ int m = 0;static int n;int a = 5, b = 6, c = ...

未初始化数组,打印出来的全是零
如果只对数组的一部分进行初始化,则编译器将把其他元素设置为0。因此,当只将第一个元素初始化为0时,编译器会自动将其他元素设为0 (就像前一句说的那样)。2.int arr[31]={};3.用memset函数在程序开始时初始化数组。比如:int arr[1024];memset(arr, 0, 1024); \/\/清零 ...

C语言中数组在没有初始化的情况下,各元素的值会怎样?
没初始化是Null,没任何值!而且要看你是什么数组,长度也没定义的话肯定是空的!长度定义的就有你定义的那么多个Null!

字符数组是不是只要进行了初始化,未初始化部分,自动初始化为0。
这个不一定的,要看你这块内存是怎么分配的。如果是全局变量的话,这块内存是程序装入内存后的.bss段,一般操作系统的程序装载器会对没有初始化的符号进行清0操作。如果是临时变量,是在分配在程序栈上的,程序一般不会对栈进行清0操作,所以可能会是你无法预知垃圾数据。为什么不清0,因为没必要,因为...

c语言,当数组某些元素未被赋值时其值为多少?
数组未初始化有两种情况:1,未初始化,其值有两种可能:一种是全局数组,被编译器初始化为0。一种是局部数组,为随机数。2, 已初始化,局部数组和全局数组,已初始化,未赋值的数组都会被赋值为0。

...有初始化时,int数组的默认值为什么是null而不是0?
int[]数组不是基本类型,是对象,所以默认为null java里面所有对象没有new得时候,都为null,基本类型int才是默认为0

c语言定义一维数组,元素未初始化,那数组元素默认值是什么
一维数组元素的初始化默认值与所定义的数组类型有关,不同的数组未初始化的默认值也不同。常见的几种数组的默认值:整型:0 浮点型:0.0 char型:0或'\' (而非'0')boolean型:false 运用数据类型:null

c++ 局部数组没有初始化 结果会是怎样
这个,是这么个道理,你的变量都在未知内存那块,没被使用过,所以都是一个固定的无意义的值。假如你的内存使用频繁,你的变量占用的那块内存曾经被使用过,而且又没有显式释放过。那么你的数组的值在未赋值之前,什么值都是可能有的。

不给可初始化的数组赋初值 则全部元素均为0 是什么意思?
定义数组时没有初始化, 之后也没有相应的赋值, 所以输出时是随机的

相似回答