c语言中malloc的用法是什么
malloc函数是C语言中动态内存分配的函数,用于在堆区中分配一块指定大小的内存空间,并返回该内存空间的首地址。
malloc的用法如下:
-
引入stdlib.h头文件:
#include <stdlib.h>
-
调用malloc函数:
void* malloc(size_t size)
-
size为要分配的内存空间的大小,单位为字节。
-
返回值为void类型的指针,指向分配的内存空间的首地址。
-
如果分配失败,返回NULL。
-
使用分配的内存空间:通过返回的指针进行访问和操作。
-
释放内存空间:使用free函数进行释放:
void free(void* ptr)
- ptr为要释放的内存空间的首地址。
示例代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
int* ptr;
// 分配大小为10个整数的内存空间
ptr = (int*)malloc(10 * sizeof(int));
if (ptr == NULL) {
printf("内存分配失败\n");
return 1;
}
// 使用分配的内存空间
for (int i = 0; i < 10; i++) {
ptr[i] = i + 1;
}
// 打印分配的内存空间的值
for (int i = 0; i < 10; i++) {
printf("%d ", ptr[i]);
}
printf("\n");
// 释放内存空间
free(ptr);
return 0;
}
此示例代码中使用malloc函数分配了大小为10个整数的内存空间,并将其视为int类型的指针进行访问和操作。最后通过free函数释放了分配的内存空间。