三、指针的优点
a.为函数提供修改调用变元的灵活手段;
b.支持C 动态分配子程序
c.可以改善某些子程序的效率
>>在数据传递时,如果数据块较大(比如说数据缓冲区或比较大的结构),这时就可以使用指针传递地址而不是实际数据,即提高传输速度,又节省大量内存。
d.为动态数据结构(如二叉树、链表)提供支持
1、对指针赋值,必须使用相同的类型变量地址。例:int m;int *p = &m;
2、可以对指针加下标,相当于对数组加下标。
3、double *const p:常量指针;const double *p:指向常量的指针;const double *const p:指向常量的常量指针;常量指针相当于将地址锁定。指向常量的指针相当于指向的值不能改变,但是指针地址可以改动。
4、动态内存分配:int *p = new int;int *list = new int[10];。用new操作符动态创建变量后,空间一直可用,也即在局部函数中定义变量在函数外也不会被释放。要释放内存,执行delete p 或delete [] list命令。
ps:局部变量在栈中分配空间,new操作符分配的内存空间出自于堆的内存区域。