mlsb.net
当前位置:首页 >> C语言中一维数组初值表能否为空? >>

C语言中一维数组初值表能否为空?

比较简单的有两种 方法。 一种是 在定义的时候直接赋值为0, int a[10]={0}; 另一种 是memset 在头文件string.h里 int a[10]; memset(a,0,sizeof(a)); 拓展资料:C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能...

比较简单的有两种 方法。 一种是 在定义的时候直接赋值为0, int a[10]={0}; 另一种 是 memset 在头文件string.h里 int a[10]; memset(a,0,sizeof(a));

不管是整型数组,还是字符型或浮点型数据,而且没有初始化的话,定义的数据会获得系统给改数据分配的地址上原有的数据。如果输出,会显示一些稀奇古怪的数据。 如果初始化了,当然就没问题了。 你可以自己试试。

对于局部性质的数组: int a[100];这种写法因为没有初始化,所以100元素都是机器垃圾值; int a[100]={0,2,3};这种写法前3个元素被分别初始化为0、2、3,其余的都置为0; int a[100]={0};这种写法将100个元素都初始化为0。 对于全局或修饰为静态...

数组赋值可以通过以下几种方法: 1、定义的时候直接赋初值(用{}); 2、用循环语句依次给数组各元素赋值; 3、将数组放在一个结构体里面,通过结构体的引用给数组整体赋值;(数组本身不能直接整体赋值)

把变量声明为全局量即可。(变量声明在 main() 以前即可)。全局量会自动初始化。 另外,声明时带初始化,也可以免去用输入语句赋初值,例如: int a[]= {12,34,56,78,90}; char s[]="abcdxyz"; float b[2][3]={11,12,13,21,22,23};

不对。 c语言声明数组时,只分配相应的内存空间和地址,并不赋初值,各元素的值是乱七八糟的数字。所以: int names[5]; 与 int names[5]={0}; 是完全不等价的。

如果你想测试它是不是随机的。 用这一段代码: #include #include int main(void) { char arr[1024]; char arr2[1024] = "good"; strcat(arr,arr2); printf("arr = %s",arr); return 0; } 这样你就会看到arr里面充满了垃圾值。 或者用下面的代码...

比如前有定义语句int a[3]={0};那么整个数组a的3个值均为0。 但如果后面有赋值语句如 a[3]=0 则仅能将第3个数组元素的值赋为0,而非整个数组。

当buff作为字符串使用的时候,第一个字符被赋值为0(好像就是'\0'),这个字符串就是一个空串,也算是一种合理的初始化方式。 当然如果不是作为字符串,而是作为数组,就存在你说的问题了。

网站首页 | 网站地图
All rights reserved Powered by www.mlsb.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com