1,昨天的作业题经典C语言题型1将全局区二维字符拷贝到堆中2将栈区二维字符拷贝到堆中3合并栈区与全局区的二维字符数组4把数组排序5打印堆区的二维数组6释放堆空间chunli@Linux:~/high$catmain.c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/..
分类:
其他好文 时间:
2016-06-21 20:58:41
阅读次数:
151
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。 ...
分类:
其他好文 时间:
2016-06-11 14:23:00
阅读次数:
155
1:互斥锁,只有一个线程进行(例如:读写)操作 2.栈区上面的对象随时可能销毁,ARC下block会自动保存到堆区 //NSGlobalBlock全局区(未使用局部变量) // void (^task)() = ^{ // NSLog(@"task"); // }; // NSLog(@"%@",t ...
分类:
编程语言 时间:
2016-06-11 11:44:42
阅读次数:
258
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。 ...
分类:
其他好文 时间:
2016-06-10 17:47:45
阅读次数:
133
栈区 1、从高地址向低地址分配; 2、存储局部变量,函数结束立即释放。 堆区 1、从低地址向高地址分配; 2、允许程序员手动向堆区申请空间,用完需手动释放。常用函数:malloc(申请) calloc(申请) realloc(扩容) free(释放) 3、对象也是在堆区存储的。 BSS段 存储未初始 ...
分类:
其他好文 时间:
2016-06-08 15:18:19
阅读次数:
150
block是匿名函数block的类型:void (^)()^只是用来表示这是一个block对象,和函数指针中的*的作用一样,只是一个标识符 block正常储存在栈区和全局区 用copy就会储存在堆区注意在MRC下使用copy,在ARC下使用,也可以使用strong用来修饰,在strong中碰到blo ...
分类:
其他好文 时间:
2016-06-02 17:50:54
阅读次数:
159
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。 ...
分类:
其他好文 时间:
2016-06-02 17:48:03
阅读次数:
123
1.提供一组栈的接口,其底层关联到一个LinkedList(双端队列)实例。由于只暴露部分基于栈实现的接口,所以可以提供安全的栈实现。 package junit; import java.util.LinkedList; /** * 用LinkedList实现栈 * * 队列和栈区别:队列先进先出 ...
分类:
编程语言 时间:
2016-05-30 23:22:04
阅读次数:
234
C内存管理一内存四区代码区栈区堆区静态变量区 作用域一个C语言变量的作用域可以是代码块作用域函数作用域或者文件作用域。代码块是{}之间的一段代码。 auto自动变量一般情况下代码块内部定义的变量都是自动变量。当然也可以显示的使用aotu关键字 register寄存器变量通常变量在..
分类:
其他好文 时间:
2016-05-22 00:49:23
阅读次数:
215
程序分为:代码区、数据区、bss区、堆区、栈区。平时常用区分的是代码区、堆区、栈区。下面加上例子区分一下。 程序分为:代码区、数据区、bss区、堆区、栈区。平时常用区分的是代码区、堆区、栈区。下面加上例子区分一下。 3 代码区顾名思义就是存放代码的,里面的内容是不可以修改的。例如你定义了一个变量ch ...
分类:
编程语言 时间:
2016-05-21 16:03:07
阅读次数:
298