- 指针变量是存放地址的变量
- 指针就是地址
- 指针变量的值就是地址
- “指针的值是地址”的说法是错误的,应该是“指针变量的值是地址”。
int** q例子:
#include<stdio.h>
int main()
{
int i=5; //定义一个整型数据
printf("i的地址为:%d\n", &i);
int *p = &i; //定义一个指针变量p,它的值是整型变量i的地址
printf("p中保存的i的地址为:%d\n", p);
printf("p指向的变量保存的数据为:%d\n", *p);
int* *q = &p; //q是指向一个 指向整型变量的指针变量 的指针变量
printf("q中保存的p的地址为:%d\n", q);
printf("q指向的变量保存的数据为:%d\n", *q); //应该就是i的地址
system("pause");
}
输出结果:
总结
变量定义 | 类型表示 | 含义 |
---|---|---|
int i | int | 整型变量i |
int *p | int * | 指向整型变量的指针变量 |
int **q | int ** | 指向 一个 指向整型变量的指针变量的 指针变量 |