动态分配内存运算符new的使用形式p = new <type>[size] ;type是数据类型,表示要为哪种数据类型的变量分配空间;size表示要为多少个变量分配空间,可以省略size(缺省值为1);p是一个type类型的指针变量,指向所分配的存储单元例Page
Page 6 运算符new的使用形式: p = new <type>[size] ; type是数据类型,表示要为哪种数据类型的变 量分配空间;size表示要为多少个变量分配空间, 可以省略size(缺省值为1);p是一个type类型的指针 变量,指向所分配的存储单元。 例 动态分配内存
使用new运算符的例子为一个整型变量(其指针为pNum)分配内存空间int*pNum=new int;为一个单精度变量(其指针为px)分配内存空间:float* px=new float;为一个字符串分配内存空间:char*pBuffer=newchar[256]为一个整型数组(动态数组)分配内存空间:int* pa=new int[100];分配内存的同时进行初始化:/ / 区别:p=new int[555]p=new int(555);Page
Page 7 使用new运算符的例子 ⚫ 为一个整型变量(其指针为pNum)分配内存空间: int* pNum=new int; ⚫ 为一个单精度变量(其指针为px)分配内存空间: float* px=new float; ⚫ 为一个字符串分配内存空间: char* pBuffer=new char[256]; ⚫ 为一个整型数组(动态数组)分配内存空间: int* pa=new int[100]; ⚫ 分配内存的同时进行初始化: p=new int(555); // 区别:p = new int[555]
内存空间的释放运算符delete用于释放new运算符所分配的内存空间,其一般使用形式为:delete p;如果要释放一个动态数组所占用的内存空间采用如下形式:delete[]pa;使用举例Page
Page 8 内存空间的释放 ⚫ 运算符delete用于释放new运算符所分配的内存 空间,其一般使用形式为: delete p ; ⚫ 如果要释放一个动态数组所占用的内存空间, 采用如下形式: delete [ ] pa ; 使用举例
例new和delete的使用。#include <iostream.h>voidmain()int* pi;动态分配内存pi = new int;*pi= 555;cout<<*pi<<endl;/释放new所分配的内存delete pi;1Page
Page 9 例 new和delete的使用。 #include <iostream.h> void main() { int* pi; pi = new int; // 动态分配内存 *pi = 555; cout<<*pi<<endl; delete pi; // 释放new所分配的内存 }