指针变量占用多少字节

在C语言中,无论基类型如何,指针变量总是占用8字节。这是因为64位系统中,为了存储64根地址线组成的内存地址,指针需要64位,即8字节的空间。

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

我们讲过,指针变量根据“基类型”的不同有 int * 型,float * 型,double * 型,char * 型等 但是我们前面在讲数据类型的时候讲过,int 型变量占用 4 字节,float型变量占用 4 字节,double类型变量占用 8字节,char类型占用 1 字节。那么“指针变量”占多少字节呢?是不是基类型占用多少字节,该变量就占用多少字节呢?同样,用sizeof写一个程序看一下就知道了。

#include<stdio.h>
int main(void)
{
	int *a = NULL;
	float *b = NULL;
	double *c = NULL;
	char *d = NULL;
	printf("%d %d %d %d\n", sizeof(a), sizeof(b), sizeof(c), sizeof(d));
	return 0;
}

在这里插入图片描述
可见,不管什么样的基类型,系统指针给指针变量分配的内存空间都是 8 字节,在C语言中,只要是指针变量,指针变量的“基类型”仅用来指定该指针变量可以指向的变量类型,并没有其他意思。不管基类型是什么类型的指针变量&

博客
v8worker
05-08 2947
05-06 2932
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值