阅读量:2
在C语言中,动态内存分配是一种在程序运行时根据需要分配内存的方法
- 使用
malloc()函数分配内存:
#include
#include
int main() {
int *ptr; // 声明一个整数指针
int n = 10; // 要分配的内存大小
ptr = (int *)malloc(n * sizeof(int)); // 使用malloc()分配内存
if (ptr == NULL) { // 检查内存分配是否成功
printf("内存分配失败!\n");
return 1;
}
// 使用指针操作动态分配的内存
for (int i = 0; i < n; i++) {
ptr[i] = i * 2;
printf("ptr[%d] = %d\n", i, ptr[i]);
}
free(ptr); // 释放动态分配的内存
return 0;
}
- 使用
calloc()函数分配内存:
#include
#include
int main() {
int *ptr; // 声明一个整数指针
int n = 10; // 要分配的内存大小
ptr = (int *)calloc(n, sizeof(int)); // 使用calloc()分配内存并初始化为0
if (ptr == NULL) { // 检查内存分配是否成功
printf("内存分配失败!\n");
return 1;
}
// 使用指针操作动态分配的内存
for (int i = 0; i < n; i++) {
ptr[i] = i * 2;
printf("ptr[%d] = %d\n", i, ptr[i]);
}
free(ptr); // 释放动态分配的内存
return 0;
}
在这两个示例中,我们使用malloc()和calloc()函数分别为整数数组分配了动态内存。注意,在使用指针操作动态分配的内存之后,我们需要使用free()函数释放内存,以避免内存泄漏。
以上就是关于“C语言指针操作动态内存分配”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm