指针理解
Posted 一半清醒一半醉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针理解相关的知识,希望对你有一定的参考价值。
内存分布
内存地址
|
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,他两是一块内存;
以上是关于指针理解的主要内容,如果未能解决你的问题,请参考以下文章