#include <stdio.h>
#include <stdlib.h>
//关于指针的指针,赋值以及其意义
//指针:包括指针所指向的内存区,还有指针本身所占据的内存区。 [重要 ]
int main()
{
printf("a=8\n\n");
int a=8;//定义一个int型变量a,假设其在内存中的地址是1000
printf("a的值[a]=%d,\na的地址[&a]=%d\n",a,&a);
//a=8 ,&a=10000
int *q;//定义指针变量q,q本身也需要内存存储,假设其地址是2000
q=&a;
printf("\nq=&a\n\n");
printf("q的值[*q]=%d,\nq指向的内存地址[q]=%d,\nq在内存中的地址[&q]=%d,\n",*q,q,&q);
// *q[指向内存地址为1000的变量的值]=8,q[指向的内存地址]=1000,&q[本身所占据的内存区]=2000
int **p;//定义指针的指针变量p,同理p也需要内存存储,假设其地址是3000
p=&q;
printf("\np=&q\n\n");
printf("p=%d,\n*p=%d,\n&p=%d,\n**p=%d\n",p,*p,&p,**p);
//p=2000,*p=1000,&p=3000,**p=8
return 0;
}