发布网友 发布时间:2022-04-24 01:50
共1个回答
热心网友 时间:2023-11-10 23:19
c存在第三个字节
sizeof结构体,这个要看结构体内变量是如何定义的,结构体存放数据有个对齐原则,找到占用最大字节的变量,然后都向它对齐,比如bool和char类型占用一个字节,short占两个字节,int,float为4个字节,double为八个字节。
定义的顺序不同,sizeof的结果不同。我给你举个例子。
struct A{
sizeof(A)应该为4+1+1,但是需要对齐,所以这个值就是 8
图1
这个是struct A的变量存储
struct B{
sizeof(B) 这个值就是12
图2
这个是struct B的变量存储
追问请问一下c存在第三字节的哪几位热心网友 时间:2023-10-19 22:21
c存在第三个字节
sizeof结构体,这个要看结构体内变量是如何定义的,结构体存放数据有个对齐原则,找到占用最大字节的变量,然后都向它对齐,比如bool和char类型占用一个字节,short占两个字节,int,float为4个字节,double为八个字节。
定义的顺序不同,sizeof的结果不同。我给你举个例子。
struct A{
sizeof(A)应该为4+1+1,但是需要对齐,所以这个值就是 8
图1
这个是struct A的变量存储
struct B{
sizeof(B) 这个值就是12
图2
这个是struct B的变量存储
追问请问一下c存在第三字节的哪几位