1.如果在函数内栈区创建一个数组,并且返回这个数组,会失败。因为数组所在的栈区会因为函数的返回动作而被回收。其他类型的可以。或者将数组通过动态分配内存保存在堆栈区。 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐 ...
分类:
其他好文 时间:
2017-07-05 22:57:19
阅读次数:
197
栈是先进后出,后进先出 队列是先进先出 堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。{堆是指程序运行是申请的动态内存,而栈只是指一种使用堆的方法(即先进后出)。} ********************************* ...
分类:
编程语言 时间:
2017-07-01 21:39:21
阅读次数:
204
1.栈 stack”和“堆 heap”: 简单的来讲,stack上分配的内存系统自动释放,heap上分配的内存,系统不释放,哪怕程序退出,那一块内存还是在那里。stack一般是静态分配内存,heap上一般是动态分配内存。 2.基本类型和引用类型: 基本类型:存放在栈内存中的简单数据段。数据大小确定, ...
分类:
编程语言 时间:
2017-06-25 23:59:21
阅读次数:
400
内存管理问题在你的系统中,你所能分配的静态数组的最大长度是多少?使用动态分配内存,你所能分配的最大内存是多少?:对于这个问题,由于静态数组是全局变量,全局变量是在数据区。数据区的大小无法确定,鉴于网上答案很多,我写程序尝试了一下,最终检验的结果是2G。用户所..
分类:
其他好文 时间:
2017-06-18 20:02:16
阅读次数:
183
下面就几种情况讨论指针。 一.指针和变量 变量是存储空间的别名,访问形式是直接访问。 指针访问内存地址是间接访问。 使用指针访问内存的场合:1.局部变量,参数传递 2.动态分配内存 指针本身也是一个变量,用来保存内存地址的变量,也有存储空间。使用他来访问存储空间,会浪费存储空间,并是访问速度变慢。 ...
分类:
编程语言 时间:
2017-06-04 14:37:34
阅读次数:
168
链表的相关知识整理 什么是链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 链 ...
分类:
其他好文 时间:
2017-06-03 21:01:05
阅读次数:
195
选择出一组学生,这组学生里面不能彼此之间有过恋爱史的。 又是一个典型的二分图问题。 只是须要把全部学生看成一组*2,然后求最大匹配,然后除以2. 这样事实上建图的时候,建成有向图也是能够的了。并且也是给出了两个方向的点了。 注意本题没有给出最大数是多少学生了。所以最好使用动态分配内存了。 并且本题的 ...
分类:
其他好文 时间:
2017-06-03 11:28:22
阅读次数:
109
堆与栈都是java中常用的存储结构,是内存中存放数据的地方。 堆:主要存放引用类型的变量,以及运行时创建(new)的对象。主要用于储存对象,存取速度慢,可以运行时动态分配内存,生命周期不需要提前确定。 栈:主要存放基础类型的变量,以及对象的引用变量。主要用于执行程序,存取速度快,生命周期必须要提前确 ...
分类:
编程语言 时间:
2017-05-02 20:59:32
阅读次数:
186
进来在linux下开发C++项目,遇到了非常奇怪的bug。项目须要多线程实现,在写好代码后,每当执行到线程函数内部,当内部调用其他函数如printf、fopen等时就会提示段错误(segmentation fault)。编程非常久了,自觉不会出现非常低级的语法错误,经细致检查许久确实也未发现不论什么 ...
分类:
编程语言 时间:
2017-04-16 19:01:17
阅读次数:
211
对于数组ai,最大子数组定义为:ai的和最大的非空连续子数组,很明显,这个概念只对既有正元素,又有负元素的数组有意义,例如,对于ai[16] = {13, -3, -25, 20, -3, -16, -23, 18, 20, -7, 12, -5, -22, 15, -4, 7},最大子数组为{18 ...
分类:
编程语言 时间:
2017-04-10 22:37:15
阅读次数:
188