使用malloc函数申请内存空间注意事项
2013-01-08 20:54
387 查看
使用malloc函数申请内存空间需要了解:(malloc的原型为:(void *) malloc(int size) )
1)内存分配给谁?
2)分配多大的内存?
3)是否还有足够内存分配?
4)内存将用来存储什么格式的数据?
5)分配的内存在哪里?
举例:
char *p = (char *) malloc(1000);
在堆上分配了1000个字节的内存,返回这块内存的首地址,把地址强制转换成 char *类型后赋给char *类型的指针变量p;这块地址是用来保存char类型的数据。
使用malloc函数申请内存空间注意事项:
1)内存是否申请成功? if( NULL !=p )
2)使用结束后,一定要释放,要求malloc和free符合一夫一妻制;
3)内存释放后(使用free函数之后指针变量p本身保存的地址并没有改变),需要将p的值赋值为NULL(拴住野指针)。
char *p = (char *) malloc(1000);
if (NULL != p)
{
......
free(p);
p = NULL;
}
else
{
}
1)内存分配给谁?
2)分配多大的内存?
3)是否还有足够内存分配?
4)内存将用来存储什么格式的数据?
5)分配的内存在哪里?
举例:
char *p = (char *) malloc(1000);
在堆上分配了1000个字节的内存,返回这块内存的首地址,把地址强制转换成 char *类型后赋给char *类型的指针变量p;这块地址是用来保存char类型的数据。
使用malloc函数申请内存空间注意事项:
1)内存是否申请成功? if( NULL !=p )
2)使用结束后,一定要释放,要求malloc和free符合一夫一妻制;
3)内存释放后(使用free函数之后指针变量p本身保存的地址并没有改变),需要将p的值赋值为NULL(拴住野指针)。
char *p = (char *) malloc(1000);
if (NULL != p)
{
......
free(p);
p = NULL;
}
else
{
}
相关文章推荐
- 申请使用sourceforge免费空间几点注意事项
- 虚拟字符驱动,申请n页内存,使用mmap映射到应用程序空间,用户就可以直接访问不需要任何同步机制
- C51编程在不同内存空间(data xdata bdata)定义变量的注意事项
- TokuDB7.5.7-2.4.1使用TokuDB时的内存注意事项v1
- 黑马程序员-C语言中内存动态分配函数的使用方法及注意事项
- 使用SetUnhandledExceptionFilter转储程序崩溃时内存DMP注意事项
- 使用dma_alloc_writecombine申请内存空间大小的限制
- C51编程在不同内存空间(data xdata bdata)定义变量的注意事项
- ARC内存使用注意事项
- eXtremeDB 共享内存使用时的注意事项
- 牛客网Java刷题知识点之匿名对象、匿名对象的内存结构图、匿名对象的应用场景、匿名对象的使用、匿名对象的简单例子、匿名对象要注意的事项
- 结构体在使用之前必须申请空间,即为此分配内存
- 使用SetUnhandledExceptionFilter转储程序崩溃时内存DMP注意事项
- 不同内存空间(data xdata bdata)定义变量在51单片机编程中的注意事项
- 51单片机编程在不同内存空间(data xdata bdata)定义变量的注意事项
- VC6中使用内存DC加载并显示JPG图片的注意事项
- ARC内存使用注意事项
- 简单的介绍一下C中申请的内存空间,free的使用
- Spring 使用其他命名空间的时候要注意的事项
- static关键字:解决的问题,在内存中的特点和使用注意事项