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