c语言内存分配与释放代码
以下是C语言中常见的内存分配与释放代码:
1. 使用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;
printf("%d ", ptr[i]);
}
// 释放内存空间
free(ptr);
return 0;
}
```
2. 使用calloc函数动态分配内存,并初始化为0:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int *ptr;
int size = 5;
// 分配内存空间并初始化为0
ptr = (int *)calloc(size, sizeof(int));
if (ptr == NULL) {
printf("内存分配失败\n");
return 1;
}
// 使用内存空间
for (int i = 0; i < size; i++) {
ptr[i] = i;
printf("%d ", ptr[i]);
}
// 释放内存空间
free(ptr);
return 0;
}
```
3. 使用realloc函数重新分配内存空间:
```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;
}
// 使用内存空间
molloc函数 for (int i = 0; i < size; i++) {
ptr[i] = i;
printf("%d ", ptr[i]);
}
// 重新分配内存空间
size = 10;
ptr = (int *)realloc(ptr, size * sizeof(int));
if (ptr == NULL) {
printf("内存分配失败\n");
return 1;
}
// 使用新的内存空间
for (int i = 5; i < size; i++) {
ptr[i] = i;
printf("%d ", ptr[i]);
}
// 释放内存空间
free(ptr);
return 0;
}
```
4. 使用free函数释放内存空间:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int *ptr;
int size = 5;
// 分配内存空间
ptr = (int *)malloc(size * sizeof(int));
if (ptr == NULL) {
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论