Linux c/c++ 指针与数组对于sizeof运算的区别

本文探讨了C语言中数组和指针的内存管理,通过对比数组和指针的sizeof运算符结果,解释了它们在内存中占用空间的区别。指出数组的sizeof值等于其元素总大小,而指针的sizeof值则取决于编译器的位数(32位或64位)。

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

#include <stdio.h>
#include <stdlib.h>
int main()
{
  char *p1 =malloc(100);
  char p2[100]; 
  printf("sizeof p1 = %d , sizeof p2 = %d\n",sizeof(p1),sizeof(p2));
  free(p1);
  return 0;
}

运行结果为:sizeof p1 = 4 , sizeof p2 = 200;

 

.数组,sizeof的值等于长度*存储类型的字节长度。

 指针,存的是引用,所以sizieof的值是指存这个地址所用到的字节(在32位编译器中指针是4 byte     /在64位编译器中指针是8   byte)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值