【指针】
1. 指针的概念:
变量:前面所讲的基本数据类型;
指针(指针常量):表示的是变量的地址,指针常量会指向变量,也就是可以通过指针常量去访问变量的值;
指针变量:存储指针常量的值,指针变量也指向变量,可以通过指针变量去访问变量的值;
运算符的说明:
& : 取地址运算符;
例如: int a;
&a:取变量a的地址,也就是变量a的地址;
* :取地址的值运算符;
例如: int *p; //注意:此处的*号不表示取地址的值运算符,表示的定义一个指针的标识;
*p // 取地址(指针变量p)的值,取指针变量p所指向空间的值;
对于变量的访问:
int a;
int *p = &a;
直接访问:通过变量名访问所对应空间内容: a
间接访问:通过地址去访问所指向空间的内容: *p
2. 指针运算:
算术运算符:
+: 指针+整型常量n(将地址向高地址方向便移n个元素,每个元素所占空间的大小为指针所指向空间数据类型所占空间的大小);
-:
1) 指针-整型常量n(将地址向低地址方向便移n个元素)
2) 指针-指针(相同类型的指针相减才有意义,并且在同一个区间才有意义,相减之后的结果表示相差元素的个数);
++:
p++: 先去地址,在自加
++p: 先将地址自加(向高地址偏移一个元素),在取值;
--
关系运算符:>,<,>=,<=, ==, !=
前提:所要比较的地址必须是相同类型才有意义,并且在同一个区间的地址才有意义;
赋值运算:=、
p += 1;===> p = p + 1;