我们都知道,使用malloc/calloc等分配内存的函数时,一定要检查其返回值是否为“空指针”(亦即检查分配内存的操作是否成功),这是良好的编程习惯,也是编写可靠程序所必需的。但是,如果你简单地把这一招应用到new上,那可就不一定正确了。我经常看到类似这样的代码:int*p=newint[SIZE...
分类:
其他好文 时间:
2014-08-30 21:37:10
阅读次数:
305
free函数原型: void free(void *ptr)功 能: 释放ptr指向的存储空间。被释放的空间通常被送入可用存储区池,以后可在调用malloc、realloc以及calloc函数来再分配。程序例:#include #include #include #include int main(...
分类:
其他好文 时间:
2014-08-29 18:04:38
阅读次数:
161
C语言中常用的内存分配函数有malloc、calloc和realloc等三个,其中,最常用的肯定是malloc,这里简单说一下这三者的区别和联系。
1、声明
这三个函数都在stdlib.h库文件中,声明如下:
void* realloc(void* ptr, unsigned newsize);
void* malloc(unsigned size);
void* c...
分类:
数据库 时间:
2014-08-20 10:34:06
阅读次数:
234
#include#includevoid main(){int *p=(int *)malloc(10);int *cp=(int*)calloc(10,4);//在内存动态存储区分配n个长度为size 的连续空间,函数返回值为指向分配域起始地址的指针int *yy=(int *)realloc(p...
分类:
其他好文 时间:
2014-08-15 23:43:29
阅读次数:
322
1、malloc作用:分配内存块原型:void *malloc(size_t size);size表示要分配的字节数返回值:返回一个指向所分配空间的void指针,假设没有足够的内存可用,则返回NULL。假设要返回一个指向特定类型的指针,则在返回值上用一个类型转换。比如:char* p; p=(cha...
分类:
其他好文 时间:
2014-08-10 18:14:11
阅读次数:
196
动态分配内存:头文件 stdlib.h
malloc:分配内存
calloc:分配内存,并清零
realloc:调整已分配的内存块大小
示例:
int *p=(int *) malloc(3*sizeof(int));//分配内存,成功返回首地址,失败返回NULL
free(p);p=NULL;//释放分配的内存,并修改指...
分类:
其他好文 时间:
2014-08-01 19:46:22
阅读次数:
240
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
第十一章 动态内存分配
数组在声明的时候,本身作为一个指针常量,它在编译时候内存就已经被分配好了。但是有时候程序不知道这个数组到底有多长,所以,为了防止内存的浪费,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
C++与C的区别 1. 动态分配内存 1)C语言 a. malloc函数:在内存的动态存储区中分配一个长度为size的连续空间; void *malloc(unsigned int size); b. calloc函数:在内存的动态存储区中分配n个长度为size的连续空间; void *c...
分类:
编程语言 时间:
2014-07-06 21:16:23
阅读次数:
224