C 语言中用于内存操作的函数主要有以下几种:
-
malloc()
: 用于在堆上分配指定大小的内存空间。void* malloc(size_t size);
-
calloc()
: 用于在堆上分配指定数量的内存空间,并将其初始化为零。void* calloc(size_t num, size_t size);
-
realloc()
: 用于调整已分配内存的大小。void* realloc(void* ptr, size_t new_size);
-
free()
: 用于释放之前通过malloc()
,calloc()
或realloc()
分配的内存。void free(void* ptr);
-
memcpy()
: 用于从源地址复制指定长度的字节到目标地址。void* memcpy(void* dest, const void* src, size_t n);
memset()
: 用于将内存区域中的每个字节都设置为指定的值。void* memset(void* s, int c, size_t n);
memmove()
: 用于将源地址中的字节复制到目标地址,即使源地址和目标地址重叠。void* memmove(void* dest, const void* src, size_t n);
sizeof
: 用于获取变量或类型的大小(以字节为单位)。
请注意,使用这些函数时,必须确保不会越界访问内存,否则可能会导致程序崩溃或未定义的行为。此外,当你使用 malloc()
、calloc()
或 realloc()
分配内存时,一定要记住在不再需要内存时使用 free()
释放它,以避免内存泄漏。