c++中数组下标越界输出什么_C语言数组的越界和溢出

c++中数组下标越界输出什么_C语言数组的越界和溢出引言最近突然想到当数组array有2个元素,而访问其array[2]时会不会编译错误的问题,答案是编译的时候不报错,只有运行的时候才报错。感悟以下是我测试用的代码,程序可以正常编译,且编译正确,只是在运行的时候出现程序崩溃。chararray[2]={‘2′,’3’};std::cout<<array[2]<<std::endl;//编译正常,运行的时候出现问题基于上述现象,说明程序在编译的时候没有进行下标越界的检查,当一个程序生成可执行文件的时候

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

引言

最近突然想到当数组array有2个元素,而访问其array[2]时会不会编译错误的问题,答案是编译的时候不报错,只有运行的时候才报错。

感悟

以下是我测试用的代码,程序可以正常编译,且编译正确,只是在运行的时候出现程序崩溃。

    char array[2] = { 
   '2','3'};
    std::cout<<array[2]<<std::endl;//编译正常,运行的时候出现问题

基于上述现象,说明程序在编译的时候没有进行下标越界的检查,当一个程序生成可执行文件的时候,总共经过四步:预处理,编译。汇编,链接。编译的时候进行代码的优化,语法分析,但未进行下标越界检查。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186743.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • select top 的用法

    select top 的用法selecttop1*from员工orderby编号select*from员工orderby编号select*from员工where编号likeYG%orderby编号descselectTOP1*from员工where编号likeYG%orderby编号desc

    2022年7月13日
    16
  • java找不到jdk文件_java运行时系统找不到指定的文件

    java找不到jdk文件_java运行时系统找不到指定的文件学习jni的时候,javacHelloworld.java生成Helloworld.class文件以后,调用javahHelloworld提示找不到类文件由于javah以后生成的.h文件需要包名+类名,所以必须在包括全包名的目录下执行javah命令,也就是项目\src\在或者项目\bin\classe\下执行javah包名.类名的命令,比如:在src下或者classe文件夹下执

    2022年9月24日
    1
  • fastclick干什么用的_fast对旅游的作用

    fastclick干什么用的_fast对旅游的作用fastclick是具有消除移动端浏览器上的点击事件的300ms的延迟的作用。注意几点1、PC端无效2、Android上的Chrome32+浏览器,如果在 viewpor

    2022年8月6日
    7
  • 泰国80亿互联网记录数据库泄漏,疑遭黑客攻击[通俗易懂]

    泰国80亿互联网记录数据库泄漏,疑遭黑客攻击[通俗易懂]泰国最大的蜂窝网络AIS已使数据库脱机,疑遭黑客攻击,这使达80亿实时互联网记录泄漏到数百万泰国互联网用户上,该事件震惊整个泰国。全球著名白帽黑客、东方联盟创始人郭盛华博客文章中说,他在互联网上没有密码就找到了包含DNS查询和Netflow数据的数据库。通过访问该数据库,任何人都可以“快速描绘”互联网用户(或其家庭)的实时行为。他表示:“在数据库中找到的记录只能来自能够监视Internet流量在网络上流动的人。但是,没有一种简单的方法可以区分数据库是属于Internet提供商还…

    2022年9月15日
    3
  • 不重启redis更改密码

    不重启redis更改密码如果以前给 redis 设置过密码 那么需要验证密码 才能用其它 redis 命令 AUTH 假设以前 redis 密码为 通过 AUTH 验证密码登录 验证成功会返回 OKCONFIGSETr 设置新的 redis 密码 CONFIGGETreq 查看新的密码

    2025年8月28日
    2
  • 最近在学习mars老师的视频。按计划的。学习安卓

    转眼之间暑假就过去一大半了。还有14天就开学了。估计再过个一周,同学们就陆续回校了。这个假期借了很多书,虽然没有想象中那么高的效率,学习太多东西,不过还是学了点东西,起码自我感觉还算可以。我是先看了看java的基础知识,一本国外的java面向对象程序设计,说实话书挺好,不过对我不合适,学过c++之后,很多里面讲的思想差不多懂了,然后例子很多,看得有点头疼,应该找一本专门讲java语法的书的。那

    2022年3月8日
    69

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号