指针可以指向不同数据类型的数据,包括函数,甚至指针类型。
多个相同类型的指针也可以构成指针数组。
定义 | 含义 |
---|---|
int i; | 定义整型变量。 |
Int *p; | 定义p为指向整型数据的指针变量。 |
Int a[n]; | 定义整型数组a,它有n个元素。 |
Int *p[n]; | 定义指针数组p,它有n个指向整型数据的指针元素组成。 |
int (*p)[n]; | 定义p为指向含n个元素的一维数组的指针变量。 |
Int f(); | 定义f为返回整型数值的函数。 |
Int *p(); | 定义p为返回指针值的函数,该指针指向整型数据。 |
Int (*p)(); | 定义p为函数指向返回整型数据的函数的指针变量。 |
int **p; | 定义二重指针变量p,它指向一个指向整型数据的指针变量。 |
指针变量的加减运算。例如p++,p--,p+i,p-i,p+=i,p-=i。
指针变量的加减运算通常用于连续的存储区域中指针向前或后移动指向的位置。
指针变量的赋值。将一个对象的首地址赋给一个指针变量。如:
赋值语句 | 含义 |
---|---|
p=&a; | 将变量a的地址赋给p。 |
p=array; | 将数组array的首地址赋给p。 |
p=&array[i]; | 将数组array第i个元素的地址赋给p。 |
p=max; | 将max函数的入口地址赋给p。 |
p1=p2; | p1和p2为同类型指针变量,将p2的值赋给p1。 |
如果两个指针变量指向同一个数组的元素,则两个指针变量值之差是两个指针之间的元素个数。
如果两个指针变量指向同一个数组的元素,则两个指针变量可以进行比较,指针值小的元素在前。
指针之间也可以和NULL进行比较,可以判断指针是否指向了内存中的某个地址。
原文:https://www.cnblogs.com/xqisui/p/13816630.html