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的内存,否则会造成内存泄露