1、c++使用new来分配内存,而C语言中用malloc来分配内存。使用new来分配内存,程序员需要告诉new,需要为哪种数据类型分配内存,new将找到一个长度合适的内存块,并返回该内内存块的地址。
例如:int *p=new int;则可以通过指针*p访问该整型变量。
内存释放:使用delete释放内存,例如:delete p;释放上例分配的内存。
2、使用new来创建动态数组。例如:int *p=new int[10],则创建一个包含10个整型变量的数组,并返回该数组的地址。使用该数组时,*p指向数组第一个元素,*(p+1)指向第二个元素......或者直接用指针作为数组名,p[0]为第一个元素,p[1]为第二个元素......
内存释放:使用delete释放内存,例如:delete [] p,释放上例动态数组内存。
3、使用new创建动态结构:例如:定义student结构体, student *p=new student,返回指向该结构体的指针。使用该结构体时,因为没有明确的结构体名称,不能使用点运算符,使用箭头运算符->,例如p->age,或者使用*p作为结构体的隐含结构名称,使用点运算符,(*p).age。