当前位置:首页 > 内存 > 正文

c加加动态分配内存(动态分配内存在小内存)

  • 内存
  • 2024-05-09 22:43:19
  • 227

一、C语言malloc动态分配内存为什么叫动态分配内存?感觉它分配的时候还是要人为指定大小,而不能根据动态内存分配是指在程序执行过程中动态分配或回收存储空间的内存分配方法。动态内存分配不需要像数组等静态内存分配方式那样预先分配存储空间;而是系统根据程序的需要立即分配,分配的大小就是程序需要的大小。
从上面动态和静态内存分配的对比,我们可以知道动态内存分配相对于静态内存分配的特点:
1.无需提前分配任何存储空间;
2.空间可以根据项目要求扩大或缩小。
(可以看百科全书了解动态分配和静态内存的概念)
二、c++中给结构体分配动态内存的问题……用new吗怎么用?

在C++中,new用于为结构体动态分配内存。

示例:

structmystruct

{

inta;

charb;

}

mystruct*pMySrt=newmystruct;

a=1;

b='a';

cout<a<<""<b<

deletepMySrt;

详细信息C++中new的使用

1.调用operatorNew分配内存,operatorNew(size(A));

2.调用构造函数生成类对象。A::A();

3.返回对应的指针;

4.如果类A重载了operatorNew,就会调用A::operatornew(size_t),否则会调用global::operatornew(size_t),这是C++默认提供的。