1、编写calloc,内部用malloc。
void *calloc (size_t n, size_t size)
{
char * memory;
memory =(char*) malloc(n * size);
while( memory != NULL)
{
char * ptr;
ptr = memory;
while ( --n >= 0)
{
*pt...
分类:
其他好文 时间:
2014-07-23 22:40:17
阅读次数:
409
Problem Description
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).
Input
输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串...
分类:
其他好文 时间:
2014-07-23 22:34:37
阅读次数:
296
Problem Description
Ignatius is so lucky that he met a Martian yesterday. But he didn't know the language the Martians use. The Martian gives him a history book of Mars and a dictionary when it leave...
分类:
其他好文 时间:
2014-07-23 22:33:38
阅读次数:
281
第十一章 动态内存分配
数组在声明的时候,本身作为一个指针常量,它在编译时候内存就已经被分配好了。但是有时候程序不知道这个数组到底有多长,所以,为了防止内存的浪费,C提供了动态内存分配的策略。
其实,作为独立的一章,本章显得内容不多。malloc,free,calloc,realloc就没有了,但是它包含很多用法,也有很多陷阱。
总结:
malloc和calloc函数都用于动态分配...
分类:
其他好文 时间:
2014-07-21 23:23:53
阅读次数:
265
1、malloc
作用:分配内存块
原型:void *malloc(size_t size);size表示要分配的字节数
返回值:返回一个指向所分配空间的void指针,如果没有足够的内存可用,则返回NULL。
如果要返回一个指向特定类型的指针,则在返回值上用一个类型转换。例如:
char* p;
p=(char*)malloc(20)...
分类:
其他好文 时间:
2014-07-21 11:26:05
阅读次数:
189
直接上代码 struct People{
int age;
}
int main(){
struct People * p= malloc(sizeof(struct Perople));
p->age=10;
struct People * p1=p;
p-age=12;
printf("%d\n",p1->age);
free(p);
return 0;
}
} 函...
分类:
编程语言 时间:
2014-07-21 10:22:57
阅读次数:
222
一、原型:extern void *malloc(unsigned int num_bytes);头文件:#include 或 #include (注意:alloc.h 与 malloc.h 的内容是全然一致的。)功能:分配长度为num_bytes字节的内存块说明:假设分配成功则返回指向被分配内.....
分类:
其他好文 时间:
2014-07-21 08:35:50
阅读次数:
244
在静态存储区:内存的分配在程序执行前就分配好了,在程序运行的过程中一直存在,如全局变量,和static声明的变量。 在栈中:内存的分配是在程序的运行过程中被分配,函数结束后系统自动释放。 在堆中:即动态分配,一般用malloc和new分配内存的大小,程序员自己用free和delete自己释 放, 因...
分类:
编程语言 时间:
2014-07-20 22:04:42
阅读次数:
215
1.不要直接调用mallocvoid *malloc(unsigned int num_bytes);malloc函数的工作机制malloc函数的实质体现在,它有一个将可用的内存块连接为一个长长的列表的所谓空闲链表。调用malloc函数时,它沿连接表寻找一个大到足以满足用户请求所需要的内存块。然后,...
分类:
其他好文 时间:
2014-07-18 15:04:11
阅读次数:
162
TCMalloc是什么?TCMalloc(Thread-CachingMalloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多。TCMalloc是google-perftools工具中的一个(gperftools四个工具分别是:TCMalloc、heap-checker、heap-profiler和cpu-profiler),这..
分类:
数据库 时间:
2014-07-17 15:34:03
阅读次数:
421