77问答网
所有问题
8. 有如下结构体的定义: struct AA{ int *a,b; char c; }; 则sizeof(AA)的值是___________。
值为什么不是9 ? VC 6.0 编译是 12
举报该问题
推荐答案 2011-09-26
因为编译器默认情况下会对字节进行对齐,VC++是按4字节边界进行对齐,所以这个结构体实际上的内存占用布局是
int* a; .....4字节
int b;.......4字节
char c;.....1字节
................3字节
存在由字节对齐而产生的多余空间。所以结果是4+4+4=12
想了解更仔细点的话,你可以到百度上搜索“字节对齐”,可以找到更详细的讲解。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/8Y88Np3qW.html
相似回答
...
struct
data
{
int
n
char
c float f
};
则size
o
答:
如果是32位C的话
,int
有4字节,float有4字节
,char
有1字节,那么就是8
c++中
sizeof(结构体)
答:
回答:没有设置
结构体
对齐默认以4字节对齐, 没有成员变量为1;成员函数不计长度;成员变量不足4字节以4记,相邻小于4B的变量可以合占4B;大于4B的按4的倍数算 详细查找结构体对齐 http://blog.csdn.net/linphusen/article/details/6385211
结构体
DATA
定义如下,则 sizeof(struct
DATA
)的值
为
答:
。。。不是6哈,是12,这个情况存储时要按4对齐哈。。
若有以下
定义
和语句
,则sizeof(
a)的值是__ ___,而sizeof(
b)的值是
...
答:
一个
int
型变量占用4个字节。而一个
char
占用1个字节。a中有两个int
,
一个char 。按说应该是 4*2 + 1 =9;但是,有个新手不知道的规则。那就是对齐。就是说,以4个字节为一行(32位),若当前的行中不够放下下一个数据的话,那么就放弃当前行的剩余空间,从下一行开始。于是,变成了 4 + ...
有以下
定义的
语句
,则sizeof(
a
)的值是
( ).我觉得是16;为什么答案是10...
答:
难道
int是
2??相当于vc里面的short int= 2个字节 这样解释就通了..3个short int 等于6 然后加上联合体中最长的 float,而sizeof(float)=4。所以总共是10。 你可以在你的编译器中把
sizeof(int)
和sizeof(float)打印出来看看,看是多少。 参考资料中是c++吧中关于short int 和int有什么区别...
struct data
{char
c1
;char
c2
;};则sizeof(struct
data
)的值是
多少...
答:
2011-12-02 设有
结构体的定义如下:
struct data { int ... 5 2012-10-20 请问:设struct student
{char
name[1... 2 2016-06-28 已知
:struct
{int
i;
Char
c;
Long... 2014-06-27 已知
如下定义,则sizeof(
a
)的值是
()
struct{
i... 2 2014-10-15 已经定义一个结构体struct data,现进行如下...
有关
sizeof的
问题
(结构体)
答:
8 8 12
sizeof(a
)=sizeof(m1)+sizeof(m2)=4+4
sizeof(b
) = sizeof(m1)+sizeof(m2) =4+1 但是,static不算,并且内存对齐,也就是必须是占内存最多的那个量的倍数,即sizeof(m1)的倍数,即2*4=8>5,所以选8
sizeof(c
)=
sizeof(*
)+sizeof(m1)+sizeof(m2)...
大家正在搜
struct里面还有struct
struct结构体类型
struct结构体程序
typedef的用法结构体
struct定义的内容
typedef struct
typedef结构体
typedef结构体指针
struct结构
相关问题
若有以下的说明和定义,则sizeof(struct aa)的...
、设有如下结构体定义: struct data { int ...
设有结构体的定义如下: struct data { int ...
struct{int i;char c;float a}te...
c语言 结构体 (20分)
若有以下定义,则sizeof(a)的值是,sizeof(b)...
结构体 DATA 定义如下,则 sizeof(struct ...
(1/2)已知有如下声明,则sizeof(test)的值是_...