简单讲指针————从内存单元(地址)引出指针

本文介绍了C语言中的指针概念,包括内存如何为变量分配空间,每个内存单元的地址,以及如何通过指针访问变量。通过实例展示了如何声明和使用指针变量,并解释了指针变量的大小通常为4个字节。文章还讨论了如何通过`sizeof`操作符验证指针变量的大小,并强调了一个指针变量无论指向何种类型的数据,其自身大小保持不变。
摘要由CSDN通过智能技术生成

指针

  内存的反应

 当你创建出一个变量的时候,会有相应的内存,在内存中分配空间。

而内存会划分一个个内存单元,每个内存单元都会有一个编号。

就是上面这个了,他的编号一般都是从上往下依次从小到大排序。

int main()
{
int a=10;
printf("%p\n",&a);
return 0;
}

当我们写下 int a=10时,计算机就向内存中申请了四个字节来存储10这个数字。

而  %p是以地址形式来打印数据,程序在每一次运行,地址都会重新创建(地址是十六进制的)

  指针的引出

内存单元中,编号-->地址,地址也是被称为指针  

所以,存放指针(地址)的变量就是叫指针变量

int a=10;
int *p=&a;
return 0;

p就是指针变量,int说明了p指向的对象是int类型的。

故指针就是地址,指针变量就是用来存放地址的,

而*p中的*是接引用操作符,意思是通过p存放的地址,找到p所指向的对象

指针变量的大小

 上面说到

指针变量就是用来存放地址的,所以指针变量的大小就取决于一个地址存放的时候需要多大的空间

像在32位的机器上,32位的地址就是32个bit位,32bit=4byte,也就是四个字节的大小

当我们在vs上,用sizeof操作符来检验,char,short,int,float,double这五个类型的指针变量的大小

 我们就可以知道,这些指针变量的大小都是4了

所以在32位机器上,指针变量的大小都是4个字节,且  一个指针变量无论它指向的变量占几个字节,它本身都只占4个字节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值