谈一下我学习栈的时候一点点心得
2012-10-21 15:12
274 查看
刚开始学习C语言的时候,对于什么栈、堆之类的根本就没有概念,分不清楚,后来在学习数据结构的时候遇到了一定的困难,我就向同学进行了请教,并且上网查找了一些资料,算是有了一些初读的了解和认识,今天和大家晒一晒 :
我们软件学院的同学,栈是一个不可忽视的概念,我们以后写的C语言程序基本上都要用的上,在我刚开始接触的时候,对于我来说就是一个很模糊的概念,只知道是一种数据结构,用来存放数据,但是要我说出它和堆的区别,当时的我还是说不出来的。
栈,是一种数据项按序列的数据结构。它具有先进后出的性质,就好比我们在箱子里面放东西,东西就是我们想要存放的元素,箱子就是栈,我们先放进去的东西,会被放在下面,后被放进去的东西会放在上面,这样,当我们想要拿东西的时候,就要想从上面开始拿, 这就是先进后出,最先放进去的,要最后才能拿出来;再举个例子,手枪的弹夹大家都知道,我们把子弹压进弹夹,最上面的一颗子弹,是我们最后发那个进去的那一个,但是他是第一个出来的,就是这样。
这是我在网上找到的一个图,要说一下C语言程序内存分配中的栈,先要把内存的分配也解释一下,一般情况下程序存放在Rom或Flash中,运行时需要拷到内存中执行,内存会分别存储不同的信息,就如上图所示。
栈,是系统自动分配的,等你们学到堆以后,就会发现栈和堆的不同,堆是要你自己去开辟的,另外,他们存放的东西也不同。
好了, 只是简单的给你们介绍一下,免得你们以后学到的时候疑惑,效仿一下大东,给你们留一个作业,写出堆和栈分别存储什么样的数据,然后上网查找一下有关对的相关知识,然后发到老地方,命名规则照旧。
加油,我的小干事们。
我们软件学院的同学,栈是一个不可忽视的概念,我们以后写的C语言程序基本上都要用的上,在我刚开始接触的时候,对于我来说就是一个很模糊的概念,只知道是一种数据结构,用来存放数据,但是要我说出它和堆的区别,当时的我还是说不出来的。
栈,是一种数据项按序列的数据结构。它具有先进后出的性质,就好比我们在箱子里面放东西,东西就是我们想要存放的元素,箱子就是栈,我们先放进去的东西,会被放在下面,后被放进去的东西会放在上面,这样,当我们想要拿东西的时候,就要想从上面开始拿, 这就是先进后出,最先放进去的,要最后才能拿出来;再举个例子,手枪的弹夹大家都知道,我们把子弹压进弹夹,最上面的一颗子弹,是我们最后发那个进去的那一个,但是他是第一个出来的,就是这样。
这是我在网上找到的一个图,要说一下C语言程序内存分配中的栈,先要把内存的分配也解释一下,一般情况下程序存放在Rom或Flash中,运行时需要拷到内存中执行,内存会分别存储不同的信息,就如上图所示。
栈,是系统自动分配的,等你们学到堆以后,就会发现栈和堆的不同,堆是要你自己去开辟的,另外,他们存放的东西也不同。
好了, 只是简单的给你们介绍一下,免得你们以后学到的时候疑惑,效仿一下大东,给你们留一个作业,写出堆和栈分别存储什么样的数据,然后上网查找一下有关对的相关知识,然后发到老地方,命名规则照旧。
加油,我的小干事们。
相关文章推荐
- (学习经验)当概念不明白很痛苦的时候,网上搜一下看网友可能有清晰地解释!2009-12-18 19:46:34
- 一个月来学习ARM+LINUX+QT开发获得的心得,共享一下!
- 06年的CS Sub,挺像考研考纲的。。平时学习的时候,可以参考一下~
- python学习的一点点心得
- 关于通信原理的一点总结(大学的时候写的,现在把自己仅有的一点点总结存档一下)
- 一点点学习的心得-MetroJS
- 总结一下这几天学习django的心得
- 总结一下最近 Python 学习心得
- 分享一下学习css,js心得
- 参加51CTO学院软考培训,我通过啦,分享一下学习心得!
- 开通了,过些时间,整理一下newton的学习心得
- 没事的时候可以看一下,学习一下
- JPA学习总结(搜罗的其他前辈们的知识结晶加上自己的一点点心得)(1)
- JPA学习总结(搜罗的其他前辈们的知识结晶加上自己的一点点心得)
- 分享一下字符串匹配BM算法学习心得。
- 在分割字符串的时候我们常常会用到Split,下面我们就来学习一下分割字符串的技巧和方法。
- 初步学习《Hadoop权威指南》的一点点心得
- 好吧,不说闲言碎语,不抱怨,好好工作,好好学习,多总结。记录一下昨天做vuejs的心得
- 我对学习编程的一点点小心得
- webpack 在开发还是上线的时候都支持soucemap的功能 学习心得