C:指针与指针变量

本文以轻松幽默的方式介绍了C语言中的指针概念,将指针比喻为寻找目标的门牌号,详细阐述了指针是什么、指针变量的定义及使用,并通过实例展示了如何通过指针访问和操作变量。文章强调了指针作为地址的概念,并通过代码解释了指针变量的声明和初始化过程,帮助读者更好地理解和掌握指针这一难点。
摘要由CSDN通过智能技术生成

xdm,让我听到你们海绵宝宝般的呐喊:“我准备好了,我准备好了,我准备好了。”好的,既然准备好了,那就让我们一起来学习指针,都说它难,我偏不信😕。来了哦,来了。
1、指针是什么
就好比你要追一个帅哥,咱起码得知道他是谁,是干啥的吧。咱们先从他的朋友下手,内存兄弟。。。大家都知道,当你在程序中定义了一个变量后,系统便会给它分配内存单元,变量类型不一样,内存空间便不一样,字符型变量是1个字节,整型是4个字节就像住旅馆一样,不一样的身份,会给你安排不一样的房间。内存区的每一个字节都有一个编号,称之为“地址”,就是你的门牌号。在地址所标志的内存单元中存放的数据就是房间里的旅客。
有了门牌号,不就有了详细地址嘛,还怕追不到帅哥嘛🧐。通过地址能够找到我们所需要的变量单元,也就是说,地址指向变量单元(某门牌号指向某一间房),我们将地址形象化地称之为“指针”。记住记住,指针是一个地址,指针是地址,指针地址,地址,地址!!!
2、指针变量
指针是一个地址,那指针变量就是存放地址的变量,指针变量的值就是地址(还记得什么是地址吗?对,就是指针,指针,指针)。
下面,给大家浅浅的表演个举栗子↓↓↓

/*通过指针变量访问整型变量*/
#include<stdio.h>
int main()
{
	int a = 100, b = 10;
	int* pointer_1, * pointer_2;/*定义指向整型数据的指针变量*/
	pointer_1 = &a;/*使pointer_1指向a,把a的地址赋给指针变量pointer_1*/
	pointer_2 = &b;/*使pointer_2指向b,把的地b址赋给指针变量pointer_2*/
	printf("a = % d, b = % d\n", a, b);
	printf("*pointer_1=%d,*pointer_2=%d\n", *pointer_1, *pointer_2);
	return 0;
}
结果:a =  100, b =  10
     *pointer_1=100,*pointer_2=10

& 为取址运算符,&a就是变量a的地址;
✳ 为指针运算符,✳p代表指针变量p指向的对象。
▲注意:程序中两次出现* pointer_1, * pointer_2,含义是不同的。
{ int* pointer_1, * pointer_2; }中表示定义两个指针变量 pointer_1与 pointer_2,它们前面的“ * ”表示该变量是指针变量。
而{ printf("*pointer_1=%d,*pointer_2=%d\n", *pointer_1, *pointer_2); }中的 *pointer_1,和✳pointer_2则代表指针变量 pointer_1和pointer_2所指向的变量。
定义指针变量
吃了上面的栗子,大家该猜到怎样定义指针变量了吧。没错,就是→ 类型名 指针变量
int✳
pointer_1, *pointer_2;
同时,也可以在定义它时对它初始化,int *pointer_1=&a, * pointer_2=&b;
▲注意:指针变量名是 pointer_1和pointer_2,而不是 ✳pointer_1和✳pointer_2

肿么样,学废了吗😎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风吹向我吧~

欢迎投喂!!❤

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值