初识指针和结构体

本文介绍了指针和结构体的基础知识。首先讲解了内存地址的概念,通过示例展示了如何获取变量的地址。接着探讨了指针变量的大小,指出在32位和64位平台上的不同。最后,介绍了结构体的定义和用法,作为自定义复杂类型的手段。
摘要由CSDN通过智能技术生成

一.认识指针

内存是电脑的存储空间,计算机中程序的运行是在内存中进行的。所以为了有效的使用内存,就把内存划分为一个小小的内存单元,每个内存单元的大小是一个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为地址。
那内存的地址是怎么产生的呢?我们以32位机器为例,32位机器就有32个地址线产生高电频和地电频,我们记高电频为数字1,低电频为数字0,二个组合起来就能产生2的32次方种组合,我们把这些组合叫为内存的地址。
在这里插入图片描述
我们大概知道了内存的布局接下来思考变量的内存是怎么存放的。看下面的码,我们试图打印出变量a的地址。

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

在这里插入图片描述
在这里插入图片描述
由上面的二个图可以得知每次打印一个变量的地址是打印第一个字节的地址。

二.初识指针变量的用例

#include<stdio.h>
int main()
{
   
int a = 2021;
         int*p=&a;
         *p=2022;
         printf("%d",a);
   return 0;
在这里插入代码片

在这里插入图片描述

三.指针变量的大小

指针变量的大小只有4个字节或者八个字节,在32位平台下指针变量的大小为4字节,32位平台下8字节。下面看64位平台上测试指针变量的大小。

#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值