在C语言中,指针是一个很重要的组成部分,其本质为某一段内存的起始地址。以如下代码进行举例说明:
int a;//定义一个变量a
int *p;//定义一个指针p
int **q;
p=&a; //将a的地址赋值给p,其类型为int *
q=&p; //将指针q的地址赋值给q,其类型为int **
*p==a;//*p代表指针p所指向的变量a,其类型为int
1、 "指针p"这个变量的值,指的是p本身的值,写作p, 在这里是a的地址,类型为int *型;
2、 "指针p”存放的地址的值,指的是p的地址值,写作&p, 这个地址代表的内存,存储出是p的值,类型为int **型,也就是二级指针;
3、"指针p"指向的变量的值,指的是p值代表的地址上存储的值,写作*p, 在这里就是变量a的值,类型为int型。
以上三种,都是最常用的指针说明方式,必须要深入理解并灵活掌握,否则很难学好C语言。