直接带你对指针进行一个门的入|指针初阶

导语:昨晚问了老师几个关于指针的很简单的问题,两个老师都怀疑我根本没听课qwq(事实上我听了两遍T_T),还和小伙伴讨论了好久,但是昨晚因为老师的话心态很崩溃,自己一个人背着妈妈偷偷哭了好久::>_<::哭到大脑缺氧1点才睡觉(结果今天九点才起来啊啊啊),说这些的原因是,学了好久指针都会问出简单智障的问题混淆简单概念(甚至让老师怀疑我根本没听课),可以看出博主真的不聪明甚至可以说很笨,但是今天仍然爬起来弄明白了这些问题,说明你也可以!我这样的笨蛋都学会了你也一定可以,加油呀!相信自己!

一、首先,什么是指针?

    如果我有事要找住在酒店中的某个人,那我得先知道他具体住在酒店的哪里,比如他住在xx层房间号为x0x,根据他的住址我们就可以找到他。

    内存就相当于一个大的酒店,而内存中存储的数据就相当于住在酒店房间的人,每个人住在不同的房间,同样每个数据被存储在不同的格子中;我们在编写程序的时候经常会由于需要去调用内存中的某个数据,但是很多时候不知道数据在哪,换言之,不知道数据的“地址”从而无法找到他。那么这时……

天空一声巨响,指针闪亮登场(好土哈哈哈哈)

    指针指针,那它不就是指引的那根针嘛;指针之中存放的就是这个数据在内存中的地址,根据这个地址我们很容易就可以在内存中找到我们想要的数据。

二、关于指针的一些常规操作

1、定义指针变量

   在指针前面写上指针指向的数据类型,同时*表示这是一个指针(如整型指针p写作int*p)

2、取地址

   既然指针是存放地址的,那么我们要使指针指向这个数据,就需要取出数据的地址,并且将地址赋给指针变量,这里需要用到取地址符&

#include<stdio.h>
int main()
{
	int i = 10;
	int* p = &i;
	return 0;
}

    观察上面这个例子,定义i为整型变量,那么它在内存中占了4个字节(相当于4个格子,假设一个格子是一个字节),每个格子都有自己的地址,但是&i取出的是第一个格子的地址,因为我们已经定义了指针类型为int类型,那么它就会从第一个格子开始往后数四个。(好吧,其实我觉得电脑才是最懒的人)

   

    与此同时,指针p同样需要在内存中占据空间,在32位中指针是4个字节,64位中指针是8个字节,我们假设这里的指针p是4个字节,那么指针p中就会存放上面 i 占据的四个格子中第一个格子的地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

拍拍脑袋瓜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值