c++之动态内存分配
时间: 2023-11-18 17:42:55 浏览: 119
C++动态内存分配
4星 · 用户满意度95%
C语言的动态内存分配可以使用`malloc`函数,而C++中可以使用关键字`new`来进行动态内存分配。在C语言中,`malloc`函数返回的是`void*`类型的指针,需要通过类型转换来使用,而在C++中,`new`返回的是创建空间类型指针。此外,C语言中的`malloc`函数不能给创建的空间初始化,而C++中的`new`关键字可以对创建的空间进行初始化。因此,在C语言中,我们可以使用`malloc`函数来进行动态内存分配,而在C++中,我们可以使用`new`关键字来进行动态内存分配并对空间进行初始化。
例如,在C语言中,我们可以使用以下代码来动态分配一个整型变量的内存空间:
```
int *p = (int*)malloc(sizeof(int));
```
而在C++中,我们可以使用以下代码来动态分配一个整型变量的内存空间并进行初始化:
```
int* p = new int(10);
```
总结来说,C语言中使用`malloc`函数进行动态内存分配,而C++中使用`new`关键字进行动态内存分配并进行初始化,这是C与C++动态内存分配的主要区别。
阅读全文