c语言中指针就是地址,那&运算符也是地址,这话说的对吗?

如题所述

对!
严格说起来,应该这么讲:指针存的是地址,而&运算符是取变量的地址。
指针原理是这样的:其实计算机中的内存就像一个个抽屉(一兆内存就相当于1百万个抽屉),每个抽屉都有一个编号,用于存放数据。
为了方便使用,编译器允许我们在写程序的时候,对抽屉进行命名(而不是使用抽屉的编号),这就是变量名。就比如说我们在程序中定义:char C; 这个时候系统会帮我们找一个空闲的抽屉(比方说编号为981的抽屉),命名为C,用于存放一个字符变量。以后我们在程序里只要使用C这个变量,系统就知道是要对981这个抽屉里的数据进行操作。
而指针是什么呢?指针是我们申请一个空抽屉,里面不放数据,而放编号。比如我们申请一个字符指针:char *ch=&C; 这个时候,ch里面放的是C这个变量的地址(也就是981),其中&是取址符,也就是取C这个变量的地址,而不是值。*ch才是ch指向的值。追问

还能通俗的解释下吗?有点理解不了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-08-08
指针是你的名字,&运算符是你的身体,用指针就是喊你名字让你自己或者别人顶着你的名号干活。,别人忙去了,用地址就是你的身体顶着别人的名字去干活
相似回答