地址 、 指针

首先:要理解 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语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,470评论 3 44
  • 1、计算机内存的每个字节也有编号,这些编号称为地址,也称指针。即指针就是地址,地址就是编号,也就是内存中字节的编号...
    滕王阁序阅读 475评论 0 1
  • 1.语言中变量的实质 要理解C指针,我认为一定要理解C中“变量”的存储实质, 所以我就从“变量”这个东西开始讲起吧...
    金巴多阅读 1,804评论 0 9
  • 指针 指针是什么 为了了解指针的概念,我们先来看一个小故事。话说福尔摩斯派华生到威尔爵士居住的城堡去取回一个重要的...
    去留无意hmy阅读 565评论 0 1
  • 手里握着伍毛钱 能买到什么好玩具 两毛钱一个的气球 买了两个还有剩余 吹气球,吹个大气球 肚子鼓得圆圆的 吹起来显...
    刘的话阅读 272评论 0 1