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()
?释放它,以避免内存泄漏。