指针知识---指针变量各种数据类型所占的内存空间

本文详细介绍了在32位和64位编译环境中,使用sizeof函数查看不同数据类型及指针变量所占字节数的方法。通过具体示例,解释了char、int、double及它们的指针在两种编译环境下的内存占用差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<stdio.h>
#include<stdlib.h>
void main()
{//sizeof()可以查看数据的所占字节,()里可以是变量名,也可以是数据类型
char ch = ‘A’;
int i = 100;
double n = 66.6;
char* p = &ch;
int* b = &i;
double* v = &n;
printf("%d%d%d",sizeof§,sizeof(b),sizeof(v));
system(“pause”);
}

32位VS输出结果
在这里插入图片描述

64位VS输出结果

在这里插入图片描述
编译环境VS2010 32位软件和VS2010 64位软件
计算机一个字节算一个地址单元,每个地址单元含有8位,char占用一字节内存,double占用八字节内存,int占用四字节内存,而指针变量p,b,v仅仅保存的时这三种数据类型的第一个字节,在32位编译环境下,一个地址是32位的,也就是32/8=4字节大小,在64位编译环境下,一个地址是64位的,也就是64/8=8字节,所以每一个地址都应该是是相应编译环境位数的字节大小。所以使用sizeof函数以十进制输出地址变量的字节大小在32位编译环境下位444,在64位编译环境下为888.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值