99问答网
所有问题
C语言中的数组,如果只对其中一个元素进行初始化,其余元素会怎么样?
比如说一个C语言的数组,我只把其中某一个元素初始化为0,那么该数组中的其余元素是自动为0,还是存储的随机垃圾值?
举报该问题
推荐答案 2012-10-28
若 int a[5]={0}; 则意味着a数组的五个元素都为0,即0 0 0 0 0 ;
若 int a[5]={1}; 则意味着a数组的第一个元素值为1,其余元素值为0,即1 0 0 0 0;
若 int a[5]={1,2}; 则意味着a数组的第一个元素为1,第二个元素为2,其余为0,即1 2 0 0 0;
若 int a[5]={1,0,2}; 则意味着a内存储的是1 0 2 0 0;
若 int a[5]; 则意味着a内存储的是随机垃圾值。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/ejWBtB77v.html
其他回答
第1个回答 2012-10-28
char a[100]={0}; //全部初始化为0,
char a[100]={0,}; //作
全局变量
和自动变量会不一样吧, 是否只初始化了第一个元素? 我还没试验过,你不防自己试试
char a[100];a[0]=0; //其它元素应当是随机垃圾值的本回答被提问者采纳
第2个回答 2012-10-28
如果只初始化一个元素,数组中的其他数都是无效的垃圾。所以为了程序运行有效、安全,在使用数组前应该先初始化。
第3个回答 2012-10-28
应该是先分配内存给你,你如果不对其余的进行赋值,编译不会通过,因为分配的内存空间里有什么,谁也不知道,推荐你学一下汇编就会很明白了。
相似回答
如果
整数
数组只初始化
第
一个元素,
那么后面元素值是什么
答:
说明
一个数组
变量后
,数组元素
的值是内存的随机状态值。数组可以在定义的同时进行初始化。形式是以一对花括号给出常量值表,系统按下标顺序(存储顺序)对
数组元素进行初始化
。给定常数的个数不能超过数组定义的长度。如果给定常数的个数不足,则系统
对其余元素
初始化为0值。
...各行第一列的元素赋值
其余元素
自动为零"int
array
[2][3
答:
教材中有个别地方有错,很明显,语句:int array[2][3]={{1},{2}};定义了一个两行三列
的数组,其中,
第一列的值为1和2.
C语言中
定义
数组
时
对其
全部
初始化
为
1
的问题
答:
这种写法不可以,要写成 int a[10] = {
1,1,1,1,1,1,1,1,1,1
};你的那种只是a[0]=1;而a[1]~a[9]都是默认值哦!
c语言中
auto int型的数字,只给
其中
几个赋值,剩下的数字系统会给他们赋...
答:
会
,如果
是数组的话,会自动把其他
的初始化
为零。
C语言
一维
数组
赋值
答:
.一般初始化,例:int a[10]={3,10,5,3,4,5,6,7,8,9};int
array
[5]={2,3,4,5,6};其结果是给每
一个数组元素
都指定了初值。2.部分元素
初始化,其余元素
均为零。例:int a[10]={7,8,9,67,54};仅给前5
个元素
赋初值,后5个元素初值为0。3.全部元素均初始化为1。int a...
c语言中,
建立
数组
a[2]
,如果
我只给a[0]赋值,系统是不是自动给a[1]赋...
答:
无论是静态全局还是局部、只要数组经过
初始化
、未赋值部分肯定为0、无论是Windows还是Linux系统、无论vs还是gcc编译、肯定是这个答案、老师真的在课堂上教过、别人说的曾经也许是对的、但不一定一直都对、为什么不选我为正确答案...怨...
int a[6]={6*
1
} 该
数组
全部
元素
为
答:
应该是6,0,0,0,0,0,因为定义数组时只对部分
数组元素初始化,
那些没赋值
的元素会
自动初始化成0。看下面的程序的结果也可以知道。include<stdio.h>#include<stdlib.h>int main(){int a[6]={6*1};int i;printf("the numbers are:\n");for(i=0;i<6;i++){printf("%d ",a[i]);}...
int a[10]={10*1};为什么是错的
答:
这个是有语法错误的,int是一个内置数据类型,不能用作变量标识符。但如果忽略这个错误,那么{10*1},这个初始化器将数组的第
一个元素初始化
为10
,其余元素初始化
为0
C语言,一个数组
int a[10];但是我
只初始化
4
个元素,
要
怎么
求出已经被初始...
答:
二维数组定义中,能够省略的是第一维的定义数,数组每行的数据元素总数必须指定,定义可以改为:inta[][2]={2,3,4};此时创建的是一个2行2列
的数组,其中
a[0][0],a[0][1],a[1][0]三个数据元素的内容分别是2,3,4要弄清二维数组在内存的排列方式,这个问题就不难理解了。
大家正在搜
一个数组只有一个数出现两次
为什么用了数组还是只显示一个数
c语言定义一个数组
c语言中数组的定义
c语言怎么输出数组
数组中三个只出现一次
为什么数组公式只第一结果
c语言数组的使用
c语言数组函数
相关问题
C语言中的数组,如果只对其中一个元素进行初始化,其余元素会怎...
C语言 二维数组的初始化中"只对各行第一列的元素赋值其余元素...
C语言中数组在没有初始化的情况下,各元素的值会怎样?
c语言定义一维数组,元素未初始化,那数组元素默认值是什么
C语言中,数组初始化的问题
C语言中,对一维数组进行赋值是。如数组长度为30。而我只对前...
关于C语言数组的选择题
C语言中,如何把数组里面的每一项都初始化为同一个值?