(1)申请单个空间
申请格式:指针变量名 =new 类型标识符
释放格式:delete p;

	int *p = new int;//申请,等价于int *p = new int(6)
	*p = 6;//赋值
	cout << *p << endl;//输出
	delete p;//释放
	p=NULL;//上完厕所洗手的好习惯

(2)申请数组空间
申请格式:指针变量名 =new 类型标识符 [内存单元个数]
释放格式:delete [ ] p;

	int *p1 = new int[5];//申请数组
	memset(p, 0, 5 * 4);//内存设置
	p1[0] = 12;
	p1[1] = 23;//赋值
	cout << p1[0] << " "<<p1[1]<<" "<<p1[4];//输出
	delete[]p1;//释放
	p=NULL;//上完厕所洗手的好习惯
关于new和delete: new运算符返回的是一个指向所分配类型变量的指针。 delete p实际意思是删除p所指向的目标地址,释放它所占的内存,而非删除p指针。

(3)memset()函数

memset(void *s,int c,size_t n)
作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。

①memset函数,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;如:

char a[100];
memset(a, '/0', sizeof(a));

②memset可以方便的清空一个结构类型的变量或数组:

如:
struct sample_struct
{
char csName[16];
int iSeq;
int iType;
};

对于变量
struct sample_strcut stTest;

一般情况下,清空stTest的方法:
stTest.csName[0]='/0';
stTest.iSeq=0;
stTest.iType=0;

用memset就非常方便:
memset(&stTest,0,sizeof(struct sample_struct));