动态内存分配malloc() 示例
#include <stdio.h>
#include <stdlib.h>
int main() {
// 分配一个能存储10个整数的空间
int *dynamicArray = (int*)malloc(sizeof(int) * 10);
if (dynamicArray == NULL) {
printf("Memory allocation failed.\n");
return 1;
}
// 使用分配的内存
for (int i = 0; i < 10; ++i) {
dynamicArray = i * i;
}
// 输出动态数组的内容
for (int i = 0; i < 10; ++i) {
printf("Element at index %d: %d\n", i, dynamicArray);
}
// 释放内存
free(dynamicArray);
dynamicArray = NULL;
return 0;
}
运行结果
在这个例子中,我们首先使用 malloc() 分配了一个能存储10个整数的空间。然后,我们填充这个动态数组,并打印其内容。最后,我们调用 free() 释放内存,并将指针置为 NULL,防止后续误用。
这种动态的分配方式如何对空间进行回收呢 多次调用内存分配函数会不会导致内存产生很多碎片啊 动态分配的内存会被无意中非法占用吗 动态分配的空间最大能达到多少 这个函数一般需和free函数配对使用 这个动态分配内存的函数是c语言的还是c++语言的啊
动态内存分配比较占用内存吧
页:
[1]