这里写目录标题 各种类型指针指针指向的空间 各种类型指针 int a ; //int类型变量 a int *a ; //int* 变量a int arr[3]; //arr是包含3个int元素的数组 int (* arr )[3]; //arr是一个指向包含3个int元素的数组的指针变量 int* p_int; //指向int类型变量的指针 double* p_double; //指向idouble类型变量的指针 struct Student *p_struct; //结构体类型的指针 int(*p_func)(int,int); //指向返回类型为int,有2个int形参的函数的指针 int(*p_arr)[3]; //指向含有3个int元素的数组的指针 int** p_pointer; //指向 一个整形变量指针的指针 指针指向的空间 #include<stdio.h> int main() { int ch=10; int *w=&ch; int **p=&w; printf("%p\n",&ch); //0xbfc0fba0 printf("%p\n",w); //0xbfc0fba0 printf("%p\n",*p); //0xbfc0fba0 printf("%p\n",&*w); //0xbfc0fba0 printf("%d\n",&**p); //0xbfc0fba0 printf("%p\n",&w); //0xbfc0fba4 printf("%p\n",&*p); //0xbfc0fba4 printf("%p\n",&p); //0xbfc0fba8 printf("%d\n",ch); //10 printf("%d\n",*w); //10 printf("%d\n",**p); //10 return 0; } *w指向&ch地址 w为ch的地址 *w为ch的值 &w为指针w本身地址 &*w *w为ch的值&*w=&ch **p指向*w的地址 *p为ch的地址 &*p为&w的地址 &**p为ch的地址 &p为指针本身地址