C++学习随笔之三:复合类型

1.数组名其实是个地址。

2.结构体访问成员,如果是指针则采用 “->”成员操作符,如果是结构名,则采用“.”成员操作符。

3.共用体(union)能够存储不同的数据类型,但是只能同时存储其中的一种数据类型。就是说,结构可以同时存储int、char和long类型,而共用体只能存储int、char或long类型。

4.指针:用于存储地址的。指针名表示地址,*操作符称为间接值,或解除引用操作符. int* pointer 中 int* 是个类型,是个指向int的指针(地址)。

 使用new和delete时,应遵守以下规则:

 (1)不要使用delete释放不是new分配的内存

 (2)不要使用delete释放同一内存块两次

 (3)如果使用new[]为数组分配内存,则应该使用delete[]来释放

 (4)如果使用new[]为一个实体分配内存,则应使用delete来释放

 (5)对空值指针应用delete是安全的

5.指针小结:

 (1)声明指针格式:typeName * pointName,范例:double * pn, int * pi

 (2)指针赋值:应该将内存地址赋给指针。可以对变量名应用&操作符来获取被命名的内存地址;new操作符返回未命名的内存的地址。

double * pn;double * pa;char * pc;

double dnum=3.2;

pn = &dnum;

pc = new char;

pa = new double[30];

 (3)解除指针引用:对指针解除引用意味着获取指针指向的值。采用delete 或者操作符 (*) 来解除引用。

 (4)使用new时一定注意:要用delete释放new的内存,否则会造成内存泄露

原文地址:https://www.cnblogs.com/JczmDeveloper/p/2964793.html