关于 C 语言中 a[10] = 5 的作用
时间:2011-12-27
来源:互联网
a[10] = 5;
C编译通过,通过原因是 C语言没有地址保护机制。
问题是,a[10] = 5; 这句话的作用到底是什么?
作者: jhlxxxx 发布时间: 2011-12-27
作者: defonds 发布时间: 2011-12-27

作者: leo_wanta 发布时间: 2011-12-27
a[10]=5;的作用是为程序崩溃埋下深深的伏笔..
作者: mingliang1212 发布时间: 2011-12-27
作者: a670910065 发布时间: 2011-12-27

作者: IVERS0N 发布时间: 2011-12-27
作者: sloste 发布时间: 2011-12-27
作者: wangsiyang000 发布时间: 2011-12-27
作者: pqpqr 发布时间: 2011-12-27
该回复于2011-12-27 15:01:15被管理员删除
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
|
#10楼 得分:0回复于:2011-12-27 14:59:02
|
作者: udbwcso 发布时间: 2011-12-27
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!
作者: zhujian888 发布时间: 2011-12-27
作者: zhao4zhong1 发布时间: 2011-12-27
int a[10];
a[10] = 5;
C编译通过,通过原因是 C语言没有地址保护机制。
问题是,a[10] = 5; 这句话的作用到底是什么?
c并不是没有越界检测机制,而是不要求、不强制越界检测机制的实现,如果有哪个环境实现了越界检测,那也是符合标准的行为。因为c/c++的宗旨之一,是给予程序员足够的自由度,不过多替程序员做决定,但是程序员要为自己的行为负责。
作者: wackwinds_h 发布时间: 2011-12-27
作者: supermegaboy 发布时间: 2011-12-27
c语言的确没有下标范围检测..
a[10]=5;的作用是为程序崩溃埋下深深的伏笔..
++
作者: dongjiawei316 发布时间: 2011-12-27
作者: AnYidan 发布时间: 2011-12-27
作者: wizard_tiger 发布时间: 2011-12-27
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28