地址 、 指针

作者: 光明程辉 | 来源:发表于2015-12-12 23:12 被阅读45次

首先:要理解 2 个概念:

<1> 地址-- & 指内存地址,在内存每个字节都有一个数字的编号。就像大学宿舍,比如:401、402、403,每个宿舍都有一个门牌号。

<2>指针 -- *指针是一个变量,用来装 “地址”。

[注释]指针是地址 变量,地址 是指针常量(因为门牌号是常量嘛!)。

----------------------------

1、先让我们看一下下面的例子:

1.1交换变量 a, b 的值,用函数如何实现?
值的交换.png

1.2 、那想要改变a 、b 的值呢?

#    1.2.1    答:用 指针。只是在变量名称前添加一个“ * ”,和变量 地址 " & ".
使用了指针.png

看打印结果,是不是,很神奇!!!

其实,原理行简单! --- 核心是: 指针指向了谁,它就可以拿到谁的值或修改值(内容)!

(就像,你大学入学的时候,通知书上标记了你的宿舍在哪栋,宿舍的门牌号是多少,你根据这个信息,也就是 “指针” ,找到了你的宿舍了。。。。。然后呢? ???? 当然是 打扫卫生、铺床等,也就是 “ 赋值 或 修改值 等!喽!”)

2.0请看演示:

// 声明变量 (建议:声明变量的时候,最好进行初始化一下,不用问我为什么,好习惯呗!)
int a = 0;
char b = 0;
float c = 0;

int *p = &a; // 表示: 指针 p ,装了变量 a的地址,[也叫 P 指向 a]
char *q = &b; // 表示: 指针 q ,装了变量 a的地址,[也叫 q指向 b]
float *w = &c; // 表示: 指针 w ,装了变量 c的地址,[也叫 w 指向 c]

[再次提醒] 谁(p) 指向谁(a),谁(p)就可以拿到它(a)的内容(值),并且可以修改它(a)的内容(值)!

指针.png

-----------

3.0 你是不是还有疑问?

好吧!我知道这个疑问:

<1、>如何通过 指针 访问 所指向的内容?

答:通过 *p 来访问咯!(p是可以改变的)

int *p = &a;
p = a;
或 p = &a;
(不能)
p = &a;

<2、>能再说明白点吗?

答: *p 就是找到地址,它的地址是p 值的 字节。也就是说取 *p个字节,得到一个内存空间,说白了:就是p 指向的变量空间。

-----》 给个赏,不然给个 赞也好啊!

相关文章

  • 指针的值是地址

    指针和地址指针是变量,地址是常量,指针的值是地址。

  • C语言之指针[<重点>]

    指针:指针就是地址,地址就是指针。地址就是内存单元的编号。指针变量是存放地址的变量。指针和指针变量是不同的的概念。...

  • 地址 、 指针

    首先:要理解 2 个概念: <1> 地址-- & 指内存地址,在内存每个字节都有一个数字的编号。就像大学宿舍,比...

  • 指针 & 地址

    区别: 1.指针意味着已经有一个指针变量存在,它的值是一个地址,指针变量本身也存放在一个长度为四个字节的地址当中,...

  • iOS开发技能树之C语言-指针

    一、指针与指针变量 指针:就是地址,一个变量的指针就是这个变量的存储地址。 指针变量:用来存放指针(地址)的变量,...

  • 常量指针和指针常量

    使用指针必须清楚,指针不是地址,是用来存放地址的,指针本身也是有地址的! 指针常量:不能通过指针修改值 const...

  • c语言的指针

    关于指针 指针就是地址,凡是出现“指针”的地方,都可以用“地址”代替,例如,变量的指针就是变量的地址,指针变量就是...

  • C语言学习09.指针

    指针(Pointer):就是内存地址,即单元编号。指针变量,存放指针的变量,其值就是某个地址单元的地址。指针变量的...

  • 谭浩强版C语言问题(第八章:指针)

    :一、指针 指针就是地址,指针变量就是存放地址的变量。*p取值、&p取址。(*p也可以是定义地址变量) (1)指针...

  • 2.7-C语言入门-指针

    1.指针的含义-变量的地址 a.指针:C语言中用“指针”来表示内存地址(即:指针指向了内存地址),即“指针”可理解...

网友评论

本文标题: 地址 、 指针

本文链接:https://www.haomeiwen.com/subject/kvoyhttx.html