用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运算符使用的一般格式为:

new  类型 [初值]

注意:用new运算符分配数组空间时不能指定初值。

假设因为内存不足等原因而无法正常分配空间,则new会返回一个空指针NULL,用户能够依据指针的值推断分配空间是否成功。


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

delete  指针变量  (对变量)

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

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

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

posted @ 2017-04-30 16:34  zhchoutai  阅读(541)  评论(0编辑  收藏  举报