32位和64位常用数据结构所占字节数

32位编译器:
char :1个字节
指针变量: 4个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节


64位编译器:
char :1个字节
指针变量: 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节

总结:常用数据结构中,32位和64位所占字节数不同的是:指针变量、long

在计算机科学中,数据结构用的内存空间取决于它们的实现和底层的硬件架构,包括字节大小、元素数量以及可能的额外开销(如指针或引用)。以下是一些常见数据结构的内存用情况,但请注意这些是大致概念,实际大小可能会因编程语言、编译器优化和具体实现有所不同: 1. 数组(Array): 数组中每个元素据相同大小的连续内存,其总内存 = 单元大小 * 元素数量。例如,在C++中,如果使用`int`类型,每个元素4个字节,那么一个包含10个元素的数组大约需要40个字节。 2. 链表(Linked List): 链表由节点组成,每个节点通常包含一个数据元素和一个指向下一个节点的指针。链表的内存空间主要由节点和指针用,总体上取决于节点大小(包括数据和指针),以及链表的长度。 3. 栈(Stack): 通常使用数组或动态内存分配实现,栈顶元素的内存用等于单个元素的大小。 4. 队列(Queue): 类似于栈,也可能使用数组或链表,队首和队尾元素的内存用取决于实现方式。 5. 树(Tree): 树的数据结构复杂,每个节点可能包含多个子节点,内存用取决于节点的结构(如二叉树、平衡树等)、是否使用指针等,以及节点数量。 6. 哈希表(Hash Table): 常用数组实现,每个键值对用的空间包括键的存储、值的存储以及可能的哈希表内部结构。实际用大小取决于哈希表的装载因子和实现细节。 7. 散列表(Hash Map): 类似哈希表,只是在某些语言中更常用这个术语,内存用取决于哈希表的大小和元素的数量。 8. 图(Graph): 图的内存消耗根据节点和边的数量以及它们的存储方式(邻接矩阵还是邻接表)而变化,可能需要额外的边信息(权重、指向源或目标节点)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值