数据结构malloc函数详解
时间: 2024-04-29 07:17:58 浏览: 155
数据结构串的操作实例详解
malloc函数是C语言中用于动态分配内存的函数。它的原型为:
```c
void* malloc(size_t size);
```
malloc函数接受一个参数size,表示需要分配的内存大小(以字节为单位),并返回一个指向分配内存的指针。如果分配成功,则返回的指针指向一块连续的内存空间;如果分配失败,则返回NULL。
malloc函数的工作原理是在堆(heap)中分配一块指定大小的内存空间,并返回该空间的起始地址。这块内存空间是匿名的,没有特定的名称,可以通过返回的指针进行访问和操作。
使用malloc函数时需要注意以下几点:
1. 需要包含头文件`#include <stdlib.h>`。
2. 分配的内存大小应该是正整数,且不要超过系统可用的内存大小。
3. 分配的内存空间在使用完后需要手动释放,以避免内存泄漏。
下面是一个示例代码,演示了如何使用malloc函数动态分配内存:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int* ptr;
int size = 5;
// 动态分配内存
ptr = (int*)malloc(size * sizeof(int));
if (ptr == NULL) {
printf("内存分配失败\n");
return 1;
}
// 使用分配的内存
for (int i = 0; i < size; i++) {
ptr[i] = i + 1;
}
// 打印分配的内存
for (int i = 0; i < size; i++) {
printf("%d ", ptr[i]);
}
// 释放内存
free(ptr);
return 0;
}
```
阅读全文