指针理解

内存分布
内存地址
1x01
1x02
1x03
1x04
1x05
变量
5
 
&a(1x01)
 
 
 
定义一个变量:
int a; 在内存上开辟了一块地方,“a”是他的名字,他在内存上的编号是1x01;
 
给 a 赋值: 
a =  5; 在内存编号为1x01 的地方存储了 “5“,如上图;
 
定义一个指针:
int *p; 在内存上开辟了一块地方,“p” 为他的名字,他在内存上的编号是1x03;
 
给p赋值:
p = &a;p的内存存储的是a的内存地址;
 
下图详细的介绍了指针的原理:
 
几个变量的值:
a    :5
&a  :1x01
p    :1x01
&p  :1x03
*p   :5
 
例题:
char  a,*pa
a=10
pa=&a
*pa=20
printf( “%d”, a)     结果是: 20,其实 *p 就是a,他两是一块内存;
 
 
posted @ 2016-03-07 21:53  一半清醒一半醉  阅读(182)  评论(0)    收藏  举报