内存操作函数
string>和
内存在编程中是非常的重要,一定要按正常的分配再使用,不用时要清除申请的内存。有很多编程时问题,比如,没申请内存就使用,使用完后不清除。
string>和
realloc()函数realloc
语法:
#include
void *realloc( void *ptr, size_t size );
功能: 函数将ptr 对象的储存空间改变为给定的大小size。 参数size可以是任意大小,大于或小于原尺寸都可以。 返回值是指向新空间的指针,如果错误发生返回NULL。
malloc()函数malloc
语法:
#include
void *malloc( size_t size );
功能: 函数指向一个大小为size的空间,如果错误发生返回NULL。 存储空间的指针必须为堆,不能是栈。这样以便以后用free函数释放空间。例如:
free()函数free
语法:
#include
void free( void *ptr );
功能: 函数释放指针ptr指向的空间,以供以后使用。指针ptr 必须由先前对malloc(), calloc(), realloc()的调用返回。例如:
calloc()函数calloc
语法:
#include
void *calloc( size_t num, size_t size );
功 能: 在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL。
与malloc的区别:
calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据。