学习了C高级,浅浅的总结一下。
指针和函数的结合
指针函数
把函数返回值类型是指针类型的函数称为“指针函数”。
动态内存管理:针对于“堆区”的使用:
#include <stdlib.h>
void *malloc(size_t size);
void free(void *ptr);
void *calloc(size_t nmemb, size_t size);
void *realloc(void *ptr, size_t size);
申请:利用接口:malloc函数实现
void * malloc(size_t size);
功能:用来在堆区申请一片空间
参数:所申请的字节数
返回值:成功时,代表连续空间的首地址,失败时返回NULL
释放:利用接口:free函数实现
void free(void *)
功能:释放连续的空间
参数:malloc成功之后的返回值
扩容:利用接口:realloc函数实现
void *realloc(void *ptr, size_t size);
功能:实现扩容空间
参数:
参数1:所需扩容空间的首地址
参数2:扩容的字节数(旧 + 新)
返回值:扩容成功返回值为空间的首地址,但是:该首地址可能与原来扩容之前的首地址一样,也可能不一样。失败则返回值为NULL。
清空函数:memset
#include <string.h>
void *memset(void *s, int c, size_t n);
功能:实现用指定的字符去重置一片空间
参数:
参数1:重置空间的首地址
参数2:重置的字符
参数3:重置的空间的大小(以字节为为单位)