了解内存与数据结构的关系(二)。。。

原创 2006年05月21日 22:52:00

  对于内存还是存在很多的疑惑,对这个概念的使用还是不自然,我以前很少关注内存问题的。最近百度,原来内存中有那么多的学问。我想,了解了内存的概念,就应该了解了指针,理解起数据结构也应该会容易得多。

   任意一个程序的运行或数据的存储都是在内存中进行的吗? 在一般的函数中,变量和对象的内存分配都是编译器在编译时安排好了的,这带来了极大的不方便。如数组大开小用,指针必须指向一个已经存在的变量或对象。但是什么时候需要自己动手分配内存呢?(这个就是动态内存分配的问题) 一般函数中定义的变量,在函数运行结束时内存会自动释放掉的。所以我们不用太关心。

静态存储分配:通常定义变量或对象,编译器在编译时就可以根据变量或对象的类型知道所需内存空间的大小(所以声明变量或对象的类型是很重要的!),从而系统在适当的时候为他们分配确定的内存。

动态存储分配:有些操作对象(到底是哪些确定的对象呢?这里应该能回答什么时候需要开动态内存吧!)在程序运行时才能确定(知道编译和运行是分开来操作了吧!),这样编译器在编译时就无法给他们预定存储空间,只能在程序运行时,系统根据运行时的要求进行内存分配。所有动态存储分配都在堆中进行。

1。new int(0)  是分配一个int类型的空间,并把其值初始化为零。

2。指针对应着数据在内存中的地址,得到了指针就可以修改该数据了。

3。引用和指针的一个重要区别:使用的时候要分参数传值和变量两种情况。参数传递的时候,指针是值传递,引用是地址传递。变量的时候,引用是个别名,可以理解为具有约束条件的指针,还有能否初始化和是否为空的区别。

显示Gralloc模块分配内存(buffer_handle_t、private_handle_t数据结构的关系)

这篇文章我们主要分析下显示中gralloc模块分配内存以及一些数据结构的介绍。 在博客http://blog.csdn.net/kc58236582/article/details/52681363...

分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令

Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String、List、Hash、Set和So...

分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令

Redis数据类型与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String、List、Hash、Set和Sort...

(转)分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令

详细讲解redis数据结构(内存模型)以及常用命令

分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令

Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String、List、Hash、Set和...
  • pfnie
  • pfnie
  • 2016年08月17日 21:07
  • 764

linux 虚拟文件系统数据结构关系

  • 2012年09月22日 23:10
  • 178KB
  • 下载

通用数据结构的关系.BMP

  • 2007年07月20日 01:03
  • 57KB
  • 下载

用lex分析C源码中数据结构关系拓扑图

程序=数据结构+算法。最近在看ovs源码时,被其中c源码里面数据结构之间复杂的关系搞的晕头转向,所以强烈想自己写个工具来解析代码内数据结构之间的拓扑。 本来想找个现成工具来的,一直没有找到好用的工...

嵌套树-数据结构-父-子关系

  • 2010年03月29日 21:47
  • 237KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:了解内存与数据结构的关系(二)。。。
举报原因:
原因补充:

(最多只允许输入30个字)