用new和delete运算符开展动态分配和撤销存储空间

用new和delete运算符进行动态分配和撤销存储空间

测试描述:临时开辟一个存储空间以存放一个结构体数据

#include <iostream>
#include <string>
using namespace std;
struct Student
{
    string name;
    int age;
    char sex;
};
int main()
{
    Student *p;  //定义指向结构体类型Student的数据的指针变量p
    p=new Student;  //用new运算符开辟一个存放Student型数据的空间,把地址赋给p
    p->name="jrz1900";
    p->age=20;
    p->sex='M';
    cout<<p->name<<endl<<p->age<<endl<<p->sex<<endl;
    delete p;
    return 0;
}
结果显示:

用new和delete运算符开展动态分配和撤销存储空间

new运算符使用的一般格式为:

new  类型 [初值]

注意:用new运算符分配数组空间时不能指定初值。如果由于内存不足等原因而无法正常分配空间,则new会返回一个空指针NULL,用户可以根据指针的值判断分配空间是否成功。


delete 运算符使用的一般格式为:

delete  指针变量  (对变量)

delete  [ ] 指针变量  (对指针数组)

delete [ ] pt  (对数组空间的操作)

C语言中利用库函数malloc和free来分配和撤销内存空间的。

版权声明:本文是我原创文章,大家可以随意转载哦!!