指针的声明:
Char *p;
*是指针运算符,*p是引用指针所指向的数据;
指针是变量:
系统为指针分配空间;指针有自己的地址;指针存值(存的是地址)
指针的类型:
去除指针名字,就是指针的类型;
Int *ptr; //int *
Int (*ptr)[3] //int (*) [3]
指针所指向的类型:
在上述指针类型上去除 * 即指针所指类型
指针的值:
指针的值(XX) 即 指针指向的地址数值 相当于说指针指向了以XX为首地址的 一片内存区域;
指针的运算:
1. 指针+整数:(只能用于指针指向某一数组)
表示指针指向数组某一元素
2. 指针-指针:(两个指针都指向同一数组中元素)
计算出此两个元素相隔距离
指针常量 和 常量指针:
Const char *p; const 修饰 *p 所以 *p(指针所指地址中的数值)的内容无法 改变
Char * const p; const 修饰 p 所以 p(指针所指地址) 的内容无法改变
空指针:
Null;不指向任何对象,null总等于0;
用法:
1. 终止对递归数据结构的间接引用
2. 用空指针作为函数调用失败的返回值
3. 作为警戒值
Void 指针:
万能指针;指向某个对象,但是void 指针不属于任何一个类型,可以接受任意类型的传值;