指针
1.定义:就是地址——数据在物理内存中的地址。
2.首地址:在指针中函数名,数组名,字符串名均 表示数组的地址。
3. * 与 & :* 表示取值,&表示取地址。
例如: *p——p的值(等价于:*(&p))
&p——p的地址(等价于:&(*p))
4.指针的大小:
无论什么类型的指针,int,char,float,他们的指针和指针变量都占四个字节。(size()——求指针的大小。)
5.指针的初始化:
指针必须初始化,不然找不到地址。
例如:指针数组,数组是一块连续且同类型的数组,所以知道首地址。
6.指针的运算:
一个指针数组中,两个指针变量可以相减,他们结果的绝对值为所间隔的元素个数。
7.数组与数组指针的区别:
数组是常量,值不能改;数组指针是变量,值可以改。
8.数组指针与指针数组的区别:
数组指针:什么样的指针,指向数组的指针,变量为指针。如:int (*p)[5].
指针数组:什么样的数组,存放指针变量的数组,变量为数组。如: int *p[5].
9.优先级:
() > [] > *
10.一级指针:
存放变量的地址。
11.二级指针:
存放一级指针的地址。
指针使用注意事项:
指针多用作形参,传递值。一级指针:传递的值不会改变;二级指针:传入的值可以改变。