C语言指针学习总结1

相信对大家来说,C语言中指针的学习也是相当痛苦,但是可爱熊在学习完指针的知识后对指针有了更多的认识,发现指针并不是有我们想象的那么可怕。
在说指针之前我们有个形象的比喻用来大家更好的理解指针的含义
比如说:我们出差在外,需要去预定一家五星级酒店,作为五星级酒店就应该更好的对我们提供服务,在酒店众多的房间中我们怎么样才能更好的找到相应的房间呢?这个时候酒店方为我们提供了门牌号。有了门牌号,我们就可以更加方便的找到在自己预定的房间。
 

int mian()
{
    int n = 0;
    int* p = &n
    return 0;
}

在这段代码中我们可以看到这里我们给n变量初始化了一个0,这里我们设置了一个指针变量叫做p用来接收n的地址。这里我们就可以更好的跟上面的例子相结合,在这里我们把n的地址看成五星级酒店的门牌号,通过门牌号我们可以更加方便地从内存中调取n中储存的值,这样可以更加效率的做到在程序当中找到我们需要的变量。

 这里可以清楚的看到我们在32位环境下,a这个变量占用了四个字节,其实每个字节都是有自己地址的,但是对于我们的变量来说,取出的地址就是在四个字节中地址最小的一个地址。

这里我们还要知道一个点,就是地址在内存中的储存大小是根据32位或者64位来确定是占4个字节还是8个字节。

这边我们可以看到在64位中我们的地址都是占用8个字节。

在指针中取地址操作符和解引用操作符是最为实用和重要的

取地址操作符:&主要的作用就是将变量所存的地址取出,再存入指针变量中。 

解引用操作符:*主要是用于取出地址当中的变量。

这个操作符相互搭配可以使我们程序增加可读性和可移植性,使程序员理解起来更加清晰。

上图是可爱熊为了方便大家理解画的一幅简易的逻辑图。

 这期是对指针的基本介绍,记得持续跟进可爱熊的博客哟!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值