c++list怎么用new开辟空间
时间: 2023-06-01 21:03:16 浏览: 87
在C语言中,使用malloc函数来动态分配内存空间,可以实现类似于new的功能。具体步骤如下:
1. 在程序中包含头文件stdlib.h
2. 使用malloc函数分配内存空间,其函数原型如下:
void *malloc(size_t size);
其中,size_t是一个无符号整型变量,表示需要分配的内存空间大小,单位是字节。
3. 分配的内存空间可以用一个指针变量来接收,如下:
int *arr;
arr = (int*)malloc(10 * sizeof(int));
其中,10 * sizeof(int)表示需要分配的空间大小为10个int类型的数据,arr是一个指向int类型的指针变量。需要注意的是,malloc函数返回的是void类型指针,需要进行类型转换。
4. 使用完毕后,需要使用free函数释放内存空间,其函数原型如下:
void free(void *ptr);
其中,ptr是指向需要释放的内存空间的指针变量。
完整示例代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *arr;
arr = (int*)malloc(10 * sizeof(int));
if (arr == NULL) {
printf("内存分配失败\n");
return 1;
}
for (int i = 0; i < 10; i++) {
arr[i] = i + 1;
}
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
free(arr);
return 0;
}
阅读全文