c语言中没有定义长度的数组可以直接初始化为0吗?比如int a[]={0}

如题所述

可以,c语言中无长度数组在声明时,一定要赋初值,系统根据数据的多少自动定义数组的长度。当然也可以赋0值,但也只有一个元素,类似于int a[1],a[0]={0}。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-02-25
int a[]={0};是可以的,这时a只含有一个初始化为0的元素。
int a[1]={};与int a[]={0};的作用是一样的。
特别地,int a[]={};也是合法的(尽管没什么用),它定义了一个长度为0的数组。本回答被网友采纳

c语言中没有定义长度的数组可以直接初始化为0吗?比如int a[]={0}
可以,c语言中无长度数组在声明时,一定要赋初值,系统根据数据的多少自动定义数组的长度。当然也可以赋0值,但也只有一个元素,类似于int a[1],a[0]={0}。

C语言数组里面没有定义的量默认是0吗
有默认是0的。数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。而与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以...

C语言中怎么把一维数组初始化都为0,
5、如果初始化输入的数字未达到定义长度,后面则默认初始化为0。6、在数组定义和初始化后面要加上分号,如下图所示,点击输入即可。

请问用C语言怎么给没有设定长度的数组赋值?
有啊,用memset( szBuf, 0, n ); szBuf是你要设定长度的数组名,参数0表示将数组初始化为0,n为你想要初始化的长度,不能大于数组的长度!

c语言中怎么把一维数组初始化为全零啊,不用循环
在C语言中,有多种方法可以快速将一维数组初始化为全零,无需使用循环。以下是三种常见的方法:1. 直接使用花括号初始化:首先,你可以直接在定义数组时指定所有元素为0,如:int arr[10]={0};。这种方法适用于数组的长度已知且希望所有元素均为0的情况。如果仅初始化部分元素,编译器会自动为剩余...

c语言如何将数组初始化成0?
intmain(void){ //statements } 2、对于局部数组简写的初始化语法。如果一个数组被部分初始化,没有被初始化的元素会被自动设置为相应类型的0。这是编译器自动完成的。可以这样写:intmain(void){ intarr[1024]={0};//ThiswillmakeallZERO //statements } 3、可以用memset函数在...

C语言数组初始化,赋值和'\\0'相关的问题
你如果在定义的时候就初始化,比如 char array[10] = "Hello";int a[10] = {1};就已经将没设置值的元素默认置0。比如array的 5-9 , a 的 1-9 (从0开始)初始化是个好习惯 定义时候不初始化,而且不是全局变量,结果就未知了。

C语言如何定义0数组
如果要定义0长度的数组,在C语言是不可以实现的,因为C语言不支持长度为0的数组,事实上,这也是没意义的。要把定义的数组初始值设置为0,针对数组的类型,可以区分操作:1 局部变量。对于局部变量可以在定义时进行初始化。type name[N] = {0};从表现上看,是把第一个元素赋值为0,但是C语言约定,对于显式的部分初始...

【C语言】初始化数组,C语言中初始化特定列表和元素!
int a[ ] = { 1, 2, 4, 8 }; \/\/ 有4个元素的数组 (4) 如果一个数组的定义同时包含了对数组长度指定和初始化列表,那么长度是通过方括号内的表达式指定的。任何元素只要在列表中没有对应的初始化器,就会被初始化为 0(对于指针类型,则初始化为 NULL)。如果列表中所包含初始化器比数组...

c语言中什么时候数组不必定义大小,直接用[]表示。 麻烦告诉下,谢谢...
这种直接使用[]是因为在直接声明赋初值时,初始值确定了数据的大小,如上例数组大小为8.外还有一种是将数组作为参数传给函数,实际那是传的指针,如下:void function(int a[]);调用该函数时是直接写function(a);此外基本没有直接使用[]的。C\/C++中如果不确定数组大小的,一般会使用堆栈或容器进行...

相似回答