鱼C论坛

 找回密码
 立即注册
查看: 1972|回复: 5

[已解决]小甲鱼课堂中的一个我无法理解之处

[复制链接]
发表于 2017-5-21 14:27:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在void指针与NULL指针一课中,小甲鱼老师让我们不要使用野指针,否则在对野指针进行解引用时,就会得到一个随机值。
但是,我认为,得到一个随机值,却恰好是我所想,因为,有的时候,程序需要得到一个随机值。如果是这样的话,那干嘛还要使用srand函数呢?
最佳答案
2017-5-21 16:57:40
你想怎么用这些随机值当然是你的自由,但是注意,这些垃圾值有时候正负不分、大小不论,比起这种方法,用srand加上rand函数可以很轻易地控制随机数的范围和生成方式,还有万一你给野指针赋了值可能会发生一些很好玩的事,建议创建的那一刻直接给初始化成NULL。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-21 15:20:53 | 显示全部楼层
那个“随机值”的意思是内存中残留的垃圾值的意思,没有任何意义的一个值。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-21 15:31:47 | 显示全部楼层
我知道啊,只是想问一下能不能把这些垃圾数据当做随机值使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-21 16:57:40 | 显示全部楼层    本楼为最佳答案   
你想怎么用这些随机值当然是你的自由,但是注意,这些垃圾值有时候正负不分、大小不论,比起这种方法,用srand加上rand函数可以很轻易地控制随机数的范围和生成方式,还有万一你给野指针赋了值可能会发生一些很好玩的事,建议创建的那一刻直接给初始化成NULL。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-21 17:39:09 | 显示全部楼层
小甲鱼 发表于 2017-5-21 15:20
那个“随机值”的意思是内存中残留的垃圾值的意思,没有任何意义的一个值。

老师啊,我又发现了一件丧心病狂的事:好像通过数组越界访问也能获得随机值。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-22 22:59:23 | 显示全部楼层
1314xxxxxx 发表于 2017-5-21 17:39
老师啊,我又发现了一件丧心病狂的事:好像通过数组越界访问也能获得随机值。。。

在C\C++里弄出随机值简直不要太容易,但是这些其实都是细枝末节,真正重要的是保证你的指针指到该指的地方,让你的数组既不越界也不会过大以致于浪费空间。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-29 15:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表