#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; }
原文:http://www.cnblogs.com/yuluhuang/p/3537929.html