前要:内存申请与释放头文件:#include 申请:malloc(配置内存空间) 相关函数 calloc,free,realloc,brk函数原型 void * malloc(size_t size);一般使用时会将void改为自定义型如:double **pd=NULL; pd =(doub...
分类:
编程语言 时间:
2015-06-19 21:36:12
阅读次数:
161
Both the malloc() and the calloc() functions are used to allocate dynamic memory. Each operates slightly different from the other. Both the malloc() a...
分类:
其他好文 时间:
2015-06-19 18:10:13
阅读次数:
123
(内容主要源于网上,只是加入了些自己的剖析)假设有一个二重指针:char **p;同时有一个指针数组char *name[4];如何引用p呢? 首先我们有程序代码如下#include int main() { char *s = "I love you"; char *s1 = "...
分类:
编程语言 时间:
2015-06-19 11:48:48
阅读次数:
632
自上次发现自己对这几个C函数不熟悉,就打算抽空整理一下,也就现在吧。这几个函数都是跟堆内存打交道的,还有一个好玩的函数--alloca,它是跟栈内存打交道的,我想留在以后研究出好玩点的来,再专门为其写一篇铭文。1.malloc:头文件:原型:extern void *malloc(unsigne.....
分类:
其他好文 时间:
2015-06-19 07:48:28
阅读次数:
383
一、栈区、堆区、静态区(全局区)、常量区、代码区:1、栈:由系统根据数据类型所占字节数在此区域开辟存储空间,使用结束后,再由系统释放。
(系统分配,系统释放)2、堆、手动分配,手动释放。3、静态、 static:直到程序运行结束 才会被 释放。4、常量占用内存,只读状态,决不可修改。5、代码、所有的语句编译后会生成CPU指令存储在代码区。二、malloc、calloc、realloc...
分类:
编程语言 时间:
2015-06-17 16:39:15
阅读次数:
151
#include
#include
#include
#include
char *my_itoa(int value, char *s)
{
int sign;
int i = 0,j,k;
char *tmp = (char *)malloc(sizeof(char)*strlen(s));
if((sign=value) < 0) //记录符号,使value为正数
va...
分类:
其他好文 时间:
2015-06-17 15:24:47
阅读次数:
105
我想举一个自己最近在项目中犯的错误来说明要踏踏实实做人,不要做装B青年
在代码中,我需要在一个library和一个daemon之间通过socket传送数据包,包的格式定义如下(为了简化,我就用最简单的数据类型举例):
typedef struct {
int head;
int size; //指明整个包的长度
char reply;
char data[0];
} packet;
packet* cmd = malloc (sizeof...
分类:
编程语言 时间:
2015-06-16 21:19:34
阅读次数:
131
uboot的第二阶段主要是start_armboot函数
gd = (gd_t*)(_armboot_start - CFG_MALLOC_LEN - sizeof(gd_t));
在uboot代码和堆空间下面开辟一个全局变量gd的空间,大小就是gd_t的大小
gd->bd = (bd_t*)((char*)gd - sizeof(bd_t));//gd结构体中bd结构体开辟空间,紧挨...
分类:
其他好文 时间:
2015-06-15 11:18:54
阅读次数:
107
任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉。但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至把malloc当做操作系统所提供的系统调用或C的关键字。实际上,malloc只是C的标准库中提供的一个普通函数,而且实现malloc的基本思想并不复杂,任何一个对C和操作系统有些许了解的程序员都可以很...
分类:
其他好文 时间:
2015-06-14 22:51:48
阅读次数:
183
场景:
1. 使用auto_ptr 的方式可以wrap类对象, 之后在方法结束后可以自动释放对象, 参考;这样在有条件判断的语句时可以省掉free语句或CloseHandle.
http://blog.csdn.net/infoworld/article/details/9008911
2.C++的特性之一就是类对象(非返回值的对象)在方法结束后会自动调用析构函数,这样在析构函数里可以放一些释放资源的操作.
3. 这里实现了一个类似auto_ptr的类的实用Wrap类,可以参考根据自己需要自定义特...
分类:
编程语言 时间:
2015-06-14 18:35:49
阅读次数:
178