初步理解指针 --- 从入门到精通

🎈个人主页👉:tbRNA-CSDN博客

💯个人简介:在校23级大学生一枚💋.
😍希望我的文章对大家有着不一样的帮助,欢迎大家关注我,感谢大家的多多支持!

🎉欢迎 👍点赞✍评论⭐收藏

1、内存和地址

计算机上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的
数据也会放回内存中,计算机中 每个内存单元的⼤⼩取1个字节。
❗⼀个⽐特位可以存储⼀个2进制的位1或者0
👇计算机中常见的单位:

每个内存单元也都有⼀个编号, 有了这个内存单元的编 号,CPU就可以快速找到⼀个内存空间。
在计算机中我们把内存单元的编号也称为地址 在C语⾔中给地址起了新的名字叫:指针
由此可见:内存单元的编号 == 地址 == 指针

下面👇是关于内存和地址的图示:

2、指针变量和地址

2.1 取地址操作符(&)

理解了内存和地址的关系,我们再回到C语⾔,在C语⾔中创建变量其实就是向内存申请空间。
那么,我们该如何得到变量的地址呢?
这⾥就得学习⼀个操作符(&) - 取地址操作符
示例代码👇
#include <stdio.h>
int main()
{
	int a = 10;
	//&a ->取出a的地址 
	printf("%p\n", &a);
	return 0;
}

图👇:

通过运行结果可以看出,&a取出的是a所占4个字节中地址较⼩的字节的地址。
虽然整型变量占⽤4个字节,我们只要知道了第⼀个字节地址,顺藤摸⽠访问到4个字节的数据也是可⾏的。

2.2 解引⽤操作符(*)

那我们通过取地址操作符(&)拿到的地址是⼀个数值,⽐如:0x006FFD70,这个数值有时候也是需要存储起来,⽅便后期再使⽤的,那我们把这样的地址值存放在哪⾥呢?

答案是:指针变量中。

比如:

#include <stdio.h>
int main()
{
 int a = 10;
 int * pa = &a;//取出a的地址并存储到指针变量pa中
 
 return 0;
}
指针变量也是⼀种变量,这种变量就是⽤来存放地址的,存放在指针变量中的值都会理解为地址。
  • 17
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

tbRNA

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值