【C语言】初识指针

一、什么是指针?

关于指针我们首先要了解什么是内存

内存就是电脑上特别重要的存储器

关于内存,我们要了解两个问题

  1. 内存是如何编号的?

  1. 一个这样的内存大小是什么?

内存有32字节和64字节等,例如32位字节

它会将电信号转换成数字信息,即用1/0表示的二进制位

从32个0到32个1一共有2的32次方个内存单元

那么内存的大小是多少呢?以2的32次方为例

如图所示,1 bit=8 byte,其余的kb,mb,gb都是以1024为进制

二、指针=取地址

指针就相当于地址

&为取地址符号,上图代码a的地址就为0X000000F69398F9E4

int类型在内存中占4个字节,及0a 00 00 00,地址分别为E4 E5 E6 E7

指针变量

分析代码:

  1. 创建变量a,变量类型为int,在内存中占4个字节

  1. 打印a的地址,%p是专门用来打印地址的

  1. pa是专门用来存放地址的,也被称为指针变量

  1. *说明pa是指针变量

  1. int * pa=&a,就是把a的地址存放在类型为int,名称为pa的指针变量里

解引用操作

当我们把一个变量的地址存在指针变量里,想要在拿出来应用或者改变变量时,就要使用解引用操作

在指针变量pa前加*则为解引用操作,*为解引用操作符

*pa就是从pa里面的地址找到a,从而对a进行操作

以上代码:*pa=20,打印a结果为20

三、指针的大小

想要知道指针的大小就要借助关键字sizeof

分析代码:

不论是那种指针类型,结果指针大小都为4,即在内存中占用4个字节

因为本次执行时,编译器为32比特位,即1byte=8bit

如果改成64比特位,结果就为8个字节

总结

以上就是本人对于初识指针的学习与理解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

林柏檀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值