社区
C语言
帖子详情
变量必须初始化吗?
wolfkingb
2001-12-21 12:31:43
...全文
191
15
打赏
收藏
变量必须初始化吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Linux2001
2001-12-21
打赏
举报
回复
在使用前最好初始化,不然可能引起不可预知的错误
类库
2001-12-21
打赏
举报
回复
不做也没关系吧
ywj
2001-12-21
打赏
举报
回复
初始化是个好习惯
Grrr
2001-12-21
打赏
举报
回复
up!gz!
hollysky
2001-12-21
打赏
举报
回复
最好做了
knight_errant
2001-12-21
打赏
举报
回复
最好初始化了,不然程序出错可别怪别人。
jacque
2001-12-21
打赏
举报
回复
不是必须得,视情况而定,也就是有缺省值时就用,但指针变量一般先初始化
happyjiji
2001-12-21
打赏
举报
回复
要视情况而定,如果你的变量是一般的数值变量,且在以后使用是会对其赋值,那么你定义时可不初始化如果你定义的是指针变量,如果不初始化那在使用时可能会造成对一个未知的内存单元写数据就有可能造成危险,如果是Windows程序会被操作系统关闭.当然作为好的编程习惯最好还是在定义变量的时候及是对其初始化
zhanghy
2001-12-21
打赏
举报
回复
续shornmao:
如果不初始化,系统会调用对象的default constructor,如果碰巧你没有写default constructor,那么系统会为你产生一个,这样对象会被用0来初始化,这样,你的构造函数中的分配内存一类的操作不会被调用,相应指针只会被简单的置零
kinghawk
2001-12-21
打赏
举报
回复
如果是循环变量,而且必须在for()外面定义的,你不初试化也没什么关系!
如果是指针,数组等重要的且有可能对整个程序甚至系统造成影响的变量,你必须要初试化,也许不初试化当时没什么错误,但这个隐患始终会变成灾难,到发生了错误再来改正,所花的时间和精力可能比你重新编一遍还大!
所以,养成好习惯,对你百利无害!
sam1111
2001-12-21
打赏
举报
回复
虽然不是必须的,但是初始化是个很好的习惯
happyforever
2001-12-21
打赏
举报
回复
不怕一万就怕万一,何况如果系统大了会出严重的难以解决的问题,所以应该说必须初始化!!!
shornmao
2001-12-21
打赏
举报
回复
对象初始化的必要性:
1)程序的正确性。如果在未定以前就使用对象的值,基本上会导致程序错误,还很有可能造成系统崩溃。
2)程序的效率。如果你不在定义的时候进行对象的初始化,一般你必然在程序中的某一时刻对该对象明确的赋值,这样原本只要调用一次构造函数的开销,变成了调用依次缺省构造函数和拷贝构造函数或者重载的赋值运算符的开销。
建议:
在定义是可以确定初值的,尽可能初始化,除非没有明确的初值可供初始化。
jimw
2001-12-21
打赏
举报
回复
不初始化,系统可能会出现一些意想不到的问题。
所以还是养成变量初始化的好习惯
swordinhand
2001-12-21
打赏
举报
回复
你不怕出事情就可以不初始化
C语言系列课程
序号内容详情内容第1讲关于《C语言》主要阐述为什么录制这个系列的视频第2讲C语言基础知识C语言特征、C语言字符集、词汇第3讲C语言输入/输出scanf、printf、getchar、putchar第4讲C语言数据类型数据类型、常量、
变量
第5讲C语言运算符算术运算符、关系运算符、逻辑运算符等第6讲if语句if…else、else if等第7讲switch语句switch、break、default等第8讲while语句while、do…while第9讲for语句for语句原理、实例第10讲continue与breakcontinue与break区别第11讲数组(一)数组类型、数组定义、数组
初始化
、数组引用第12讲数组(二)二分法查找第13讲数组(三)冒泡算法第14讲字符数组字符数组定义、
初始化
、引用、字符串常用函数第15讲多维数组多维数据定义、
初始化
、引用第16讲函数(一)函数定义、函数调用、函数返回值、函数声明第17讲函数(二)函数参数传递方式第18讲指针与
变量
关系
变量
、指针第19讲指针与数组关系数组指针、数组指针引用第20讲指针与函数函数指针、函数指针参数传递
c++
变量
必须
初始化
吗???
1、局部
变量
必须
初始化
,否则其值未定义; (1)、内置类型int,char,bool,float,double,指针、枚举enum等; (2)、结构体、类、类模板等取决于它们自身的默认构造函数。类成员
变量
在对象创建的时候分配内存,如果在类中没有进行
初始化
,与局部内置类型结果一样; (3)、STL库中vector、list、map等默认构造出一个空的容器。 2、全局
变量
(...
final修饰的
变量
必须
初始化
吗?
final修饰的
变量
可以分为两类,局部
变量
和全局
变量
。当final修饰的
变量
是局部
变量
时,只需在用到这个
变量
之前进行
初始化
就可以了。但是,当final修饰的
变量
是全局
变量
时,
必须
在
变量
所属类的对象创建完成之前进行
初始化
。
Java
变量
一定要
初始化
吗?
Java
变量
一定要
初始化
吗?解答。。。
变量
都要
初始化
吗?
不。使用
变量
之前应该给
变量
一个值,一个好的编译程序将帮助你发现那些还没有被给定一个值就被使用的
变量
。不过,
变量
不一定需要
初始化
。在函数外部定义的
变量
或者在函数内部用static关键字定义的
变量
(被定义在数据段中的那些
变量
,见2.1)在没有明确地被程序
初始化
之前都已被系统
初始化
为0了。在函数内部或程序块内部定义的不带static关键字的
变量
都是自动
变量
,如果你没有明确地
初始化
这些
变量
,它们就会具有未
C语言
69,381
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章