社区
C++ 语言
帖子详情
小弟初学C++,有一问题,关于数组,望大侠们刺教!!!!!!
sken
2005-03-16 10:50:01
在数组初始化时,是不是必需要初始化
比如:
int array[5]={};
是否可以,如果不可以,哪又是为什么呢?
...全文
202
20
打赏
收藏
小弟初学C++,有一问题,关于数组,望大侠们刺教!!!!!!
在数组初始化时,是不是必需要初始化 比如: int array[5]={}; 是否可以,如果不可以,哪又是为什么呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lhx1123
2005-03-16
打赏
举报
回复
可以不用初始化,但一般来讲,
还是初始化比较好,
免得出现意想不到的结果
usufu
2005-03-16
打赏
举报
回复
可以这样int array[5]={0};给数组赋全0,否则数组的内容是不确定的.
Salam2001
2005-03-16
打赏
举报
回复
为什么要这样写?画蛇添足?
其实,初始化不初始化要看你的需要了,编译器不会强制你初始化数组。
大羽飞鹤
2005-03-16
打赏
举报
回复
关注
windonly00
2005-03-16
打赏
举报
回复
int array[5];
初始化可有可无,无的话显示的是乱码
zhousqy
2005-03-16
打赏
举报
回复
不可以這嚜寫好像。偶嚜使過。
laZZe
2005-03-16
打赏
举报
回复
不过声明数组时不用强制初始化的。
laZZe
2005-03-16
打赏
举报
回复
不可以的,数组的初始化就是在声明数组时给部分或全部元素赋初值。
special001
2005-03-16
打赏
举报
回复
不必非得初始化,不初始化的情况很多,可能是在后面通过键盘等设备向其中读入数据,或者是做为一个缓冲区来充当某函数的参数。
junguo
2005-03-16
打赏
举报
回复
可以的!初始化不是强制的!
sken
2005-03-16
打赏
举报
回复
谢谢各位牛人的帮忙,小弟已经明白.
iori_yagami
2005-03-16
打赏
举报
回复
int array[5];//正确,array中的值不确定
int array[5] = {};//错误,不能通过编译
int array[5] = {0};//正确,array中的值全部初始化为0
pcboyxhy
2005-03-16
打赏
举报
回复
to skywgs(Janson)
看ISO C++ 98标准第148页。
或者C++ primer 3rd 中文版94页
数组可以被显式地用一组数来初始化这组数用逗号分开放在大括号中例如
const int array_size = 3;
int ia[ array_size ] = { 0, 1, 2 };
被显式初始化的数组不需要指定维数值编译器会根据列出来的元素的个数来确定数组
的维数
// 维数为3 的数组
int ia[] = { 0, 1, 2 };
如果指定了维数那么初始化列表提供的元素的个数不能超过这个值否则将导致编
译错误如果指定的维数大于给出的元素的个数那么没有被显式初始化的元素将被置为0
// ia ==> { 0, 1, 2, 0, 0 }
const int array_size = 5;
int ia[ array_size ] = { 0, 1, 2 };
看完再说可不可以用。
不要被垃圾书误导。
NYN
2005-03-16
打赏
举报
回复
刺激你一下:自己写一下运行看看不就好了?
#include <stdio.h>
void main()
{
int a[5]={};
}
会出错:
C:\Documents and Settings\R517.ZZC\桌面\temp\Cpp1.cpp(5) : error C2059: syntax error : '}'
C:\Documents and Settings\R517.ZZC\桌面\temp\Cpp1.cpp(7) : error C2143: syntax error : missing ';' before '}'
C:\Documents and Settings\R517.ZZC\桌面\temp\Cpp1.cpp(7) : error C2143: syntax error : missing ';' before '}'
C:\Documents and Settings\R517.ZZC\桌面\temp\Cpp1.cpp(7) : error C2143: syntax error : missing ';' before '}'
执行 cl.exe 时出错.
Cpp1.exe - 1 error(s), 0 warning(s)
skywgs
2005-03-16
打赏
举报
回复
可以这样int array[5]={0};给数组赋全0,否则数组的内容是不确定的."
这个是不正确的,这样赋值并不是给数组赋全0,而是只把数组a[0]赋值0/.
同意,定义时初始化是从前到后的,如果给定的值比数组个数少,则后面的元素并没有赋值。
oyljerry
2005-03-16
打赏
举报
回复
int array[5];
可以只申明一下,等以后再赋值
不过好的写法,是申明时就初始化
int array[5]={0};
140355
2005-03-16
打赏
举报
回复
如果你写了大括号,他就会将你列出的值赋予靠千的元素,靠后的置0;
如果你没写,则所有元素均有不确定的值
sken
2005-03-16
打赏
举报
回复
不明白,能不能仔细说说.
qw2002qw
2005-03-16
打赏
举报
回复
int array[5]={}; 不可以
int array[5]; 可以
sken
2005-03-16
打赏
举报
回复
不过我看书的时候说这个一个错误.
int array[5]={};
" 回复人: usufu(CharmSky) ( ) 信誉:100
可以这样int array[5]={0};给数组赋全0,否则数组的内容是不确定的."
这个是不正确的,这样赋值并不是给数组赋全0,而是只把数组a[0]赋值0/.
C++
语言基础视频教程
C++
语言基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助
初学
者有效学习。本教程详细介绍
C++
语言中的封装、数据隐藏、继承、多态的实现等入门...
你应当如何学习
C++
(以及编程)(rev#1)
你应当如何学习
C++
(以及编程)(rev#1) By 刘未鹏(pongba)
C++
的罗浮宫(http://blog.csdn.net/pongba) Javascript是世界上最受误解的语言,其实
C++
何尝不是。坊间流传的错误的
C++
...原因主要有三个,一是C+
C++
面试题
1.构造一个类MySingleton,使该类只能存在一个实例. 思路: 将构造函数写为private的,然后通过一个成员静态函数来调用构造函数即可:) 例: #include "iostream.h" class MySingleton { private: static ...
c++
.h和.c文件理解
一个简单的
问题
:.c和.h文件的区别 学了几个月的C语言,反而觉得越来越不懂了。同样是子程序,可以定义在.c文件中,也可以定义在.h文件中,那这两个文件到底在用法上有什么区别呢? 2楼: 子程序不要定义在.h中...
(经典中的经典!)IT学生解惑真经(转),真会有人看完这15万字吗
群号:853665602,有什么
问题
都可以在里面询问交流,还有博主整理的很多资料,需要大家的加入,才能壮大这个组织!群里面有很多的我整理的内部资源:Java题库,大厂面试题,学习大纲,自学课程大纲等,希望欢迎到很...
C++ 语言
64,644
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章