一、字符指针
该指针指向一个存放字符的空间
int main()
{
char ch = 'a';
char* pc = &ch;//将ch变量的地址赋给字符指针变量pc
*pc = 'a';
return 0;
}
二、 指针数组
存放指针变量的数组
int* arr1[10];//整型指针数组,存放了10个整形指针
char* arr2[10];//字符指针数组
char* * arr3[10];//二级字符指针数组
三、数组指针
指向一个数组的指针,其实就是指向数组的首地址(也就是第一个元素的地址)
int(*p2)[10];//p2是一个指针,在这里表示p2是一个指针变量,P2指向的是一个大小为10的一个整型数组,p2因为指向一个数组,也是一个数组指针
四、函数指针
就是指向函数的指针
int ADD(int x,int y)
{
return x+y;
}
``
> 这个函数的指针是`int (*ADD)(int x,int y)
五、函数的指针数组
将很多函数的数组存放在一个数组中,这个数组就叫做函数的指针数组
int (*parr[10]) ();
六、结构体指针
指向结构体的指针
typedef struct Node
{
int data;
struct Node *pNext ;//定义一个指向NodeL类型节点(strcut Node)的指针 pNext,该指针类型是struct Node{}*
}* PNODE //定义一个指向Node类型节点的指针,将数据类型名称struct Node{}*重新命名为PNODE