第14章 C语言内存精讲总结

你好,欢迎来到「C语言和内存」专题,你将开启一扇全新的大门,看到C语言的本质彻底明白C语言的运行机理

当你决定学习「内存」,你已然超越了90%的程序员!

一个C语言程序必须载入内存才能运行(任何程序都是这样)CPU也被设计为只能从内存中读取数据指令,(个人:我们使用word软件打开一个文档时,文档里面的数据会从硬盘加载到内存,我们在word软件里的操作,是使用CPU操作内存中的数据,内存中数据的操作结果会被显示到word软件里界面里,但是如果我们不保存,此时硬盘上的文档里的数据还是老样子,还是没有改变)一名不了解内存的程序员,注定不能让自己的编程水平有一个质的飞越,只能雾里看花,知其然不知其所以然。

本专题涉及到计算机组成原理操作系统汇编语言等多方面的知识,并将它们和具体的C语言代码结合起来,运用到实际编程中

本专题将为你解开以下谜团:

  • C语言中使用的地址为什么是假的,(个人:也就是我们在C语言程序中例如使用prinf打印出的内存的地址)计算机又是如何通过假的地址访问到真实的物理内存?
  • 一个C语言程序在内存中是如何分布的?(个人:也就是一个C语言程序执行时,被加载到内存,这个C语言程序在内存中如何分布,这个C语言程序里的各个内容在这个内存中各自放在哪里)函数放在哪里?变量放在哪里?字符串放在哪里?
  • 为什么全局变量在整个程序中都可以使用,而局部变量只能在函数内部使用?
  • 一个C语言程序可以使用多大的内存?
  • 操作系统用户程序之间是如何协作的?
  • 都是什么,它们在程序运行过程中起到什么作用?为什么栈内存的分配效率要高于堆?
  • 栈溢出是怎么回事,如何利用栈溢出进行攻击?
  • 内存泄漏野指针非法内存访问段错误都是怎么产生的?
  • 内存池线程池连接池等这些莫名其妙的“池子”是怎么回事?

本专题内容:

posted on 2022-03-09 22:05  朴素贝叶斯  阅读(629)  评论(0编辑  收藏  举报

导航