1:char p[] = "hello word";

2:char* p = "hello word";

3:char* p = new char[100];strcpy(p,"hello word");

应该说对于char的赋值也就这三种情况了。

这三种情况p对应的值应该放在不同的,

1 放在函数栈中,

2 放在静态区中

3 放在堆中,

因为2的内存是不可以写操作的,所以也不存在越界写,你要是写了虽然编译能过,但会segment fault1的情况是最危险的;

由于1中char p[] 这个赋值就确定了大小,所以要是追加写就是越界写了。但这种程序会继续执行,但此时p结构已经完全被破坏了,所以程序会莫名的出一些错误。

3 也有这样的情况,要是你写的超过100bytes。

最后说下linux下内存申请的原理。当我们new char[10]的时候,其实系统分配的会大于10,因为系统要记录这次分配的大小,一般这些系统都是在分配的尾部,这就可以解释为什么我们越界了仍可以写,我们的rewrite了这些信息了,当我们在用到这快内存的信息的时候。自然会出错,这也是我们new 完 delete []p 的时候为什么我们不用告诉系统我们要delete多少个的原因。因为系统能找到。

C语言中内存越界,如1300BYTE长的报文传到定长1024BYTE的内存中,没有CORE,但底层报错,问题比较隐蔽。

c语言程序越界,关于C语言中地址越界的问题相关推荐

  1. 8255a初始化c语言程序,8255A的c语言程序.doc

    8255A的c语言程序 8255A的c语言程序 [实例24]用8243扩展I/O端口 #include sbit ContrBit0=P1^0; sbit ContrBit1=P1^1; sbit C ...

  2. c语言程序中有汉字,C语言程序中汉字的处理方法

    本文主要讲解C语言程序中汉字的处理方法 printf(\"输出功率为%s千瓦.\\n\",power); 考虑到还有相当一部分人在学习和应用C语言,因此在这里向读者介绍一下笔者在这 ...

  3. c语言程序断点怎么打,C#中如何使用断点操作调试程序

    Visual Studio调试器调试 当代码不能正常运行时,可以通过调试定位错误.常用的程序调试操作包括设置断点.开始.中断和停止程序的执行.单步执行程序以及使程序运行到指定的位置.下面将对这几种常用 ...

  4. 怎么用centos7运行c语言程序_写C语言程序,如何提升程序运行效率?我的一点经验分享给你们!...

    在编写C语言程序后,经常需要对源码进行优化,以提高程序的运行效率,下面简述几个常用的优化技巧以供大家参考: 1.C于代码在程序中的优化 现在的C编译器会自动对代码进行优化,但这些优化是对执行速度和代码 ...

  5. 单纯形 c语言 程序,单纯形法完全c语言程序

    单纯形法完全c语言程序 更新时间:2017/2/8 13:37:00  浏览量:566  手机版 单纯形法完全c语言程序,能运行 #include "math.h" #includ ...

  6. 程序设计基础(c语言),程序设计基础(C语言)

    <程序设计基础(C语言)>由会员分享,可在线阅读,更多相关<程序设计基础(C语言)(26页珍藏版)>请在人人文库网上搜索. 1.程序设计基础(C语言),东北大学高级语言程序设计 ...

  7. c语言程序链接过程,C语言简明教程(二):C程序编译链接过程和实例对照详解...

    不像高级编程语言,在C语言开发中,了解其编译链接过程显得相对重要,因为C语言是较为底层的语言,很多时候我们调试C程序或者解决其它问题都可能会涉及到C编译链接的相关知识,例如编译动态库或者静态库.下面我 ...

  8. c语言程序改错例题,C语言程序改错习题

    C语言程序改错习题 行动是通向成功的唯一途径.以下是小编为大家搜索整理的C语言程序改错习题,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网! 在考生文件夹下,给定程序MODI.C的功 ...

  9. c语言程序优化设计,C程序设计语言的教学策略优化设计

    摘要:本文围绕提高C语言课堂教学的教学质量,依据教学内容的属性与特点,融合任课教师的教学经验与智慧,通过选择恰当的教学方法,采用合理的教学手段设计了一种教学优化策略,强化了教学方案设计的科学性,保证了 ...

最新文章

  1. oracle 9i 安装及连接远程数据库
  2. 论文Fast and accurate short read alignment with Burrows-Wheeler transform
  3. 安卓Webview缓存网页数据(无网络正常显示)
  4. TCP的3次握手和4次挥手过程
  5. C#中的浅拷贝和深拷贝
  6. 14种冷热源及空调系统特点介绍
  7. 和中医学习到的养生方法和知识
  8. (Review cs231n) Backpropagation and Neural Network
  9. junit rule_使用JUnit的ExpectedException和@Rule测试自定义异常
  10. mysql 视图 分页_mysql查看所有存储过程,函数,视图,触发器,表,分页
  11. infoq 视频下载 [转老赵]
  12. mysql 主从 仅备份从库_MySQL主从复制 - 从数据库备份数据库
  13. MySQL DBA亲授MySQL InnoDB事务ACID实现原理
  14. django3,vue前后端分离数据请求
  15. tfidf原理及实现
  16. NM3000多用表校验仪
  17. 平行四边形不等式优化详解
  18. 9.1. Logical Operators
  19. 国标中不能用作公差基准字母
  20. SAP笔记MM (中文版学习)

热门文章

  1. MacBook Pro安装WIN10问题集锦
  2. MapStruct、ignore
  3. 葡萄牙晋级世界杯决赛
  4. 远离喧嚣,拥抱自然,洗尽铅华
  5. Doxygen 安装使用
  6. CK-FR08-E01与恩基士PLC配置指南
  7. ubuntu16.04下安装TensorFlow(GPU加速)----详细图文教程【转】
  8. 利用模板方法设计模式实现代码的利用的工程实践
  9. 让生态更有力量 CDEC2020中国数字智能生态大会成都站圆满收官
  10. 关于SpringBoot如何返回视图