请教:C++内存分配问题

Evelyn_ever 2005-10-10 10:58:26

6、假定一个一维数组的定义为“char * a[8] ;”,所占存储空间的字节数为 。


9、假定一个结构类型定义为
struct D {
int a ;
union { int b ; double c ; } ;
D * d[2] ; }
,则该类型的大小为 字节。
...全文
66 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Evelyn_ever 2005-10-10
  • 打赏
  • 举报
回复
char * a[8] 这是一个指针数组 也就是这个a数组有8个元素 都是只能装指向char类型的指针,一个指针是4个字节 所以4*8=32哦
struct D {
int a ;
union { int b ; double c ; } ;
D * d[2] ; }
这个结构体包含了int a,(4字节) union{int b,double c}(8字节,因为联合体是分配其中最大的字节数) D *d[2](和第1题一样 指针数组 4*2=8字节) 所以一共是 4+8+8=20字节
Evelyn_ever 2005-10-10
  • 打赏
  • 举报
回复
第二个标准答案是20
请问楼上的你的思路是什么啊?
snowbirdfly 2005-10-10
  • 打赏
  • 举报
回复
char * a[8],所占存储空间的字节数为:8*4 = 32个~~
struct D {
int a ;
union { int b ; double c ; } ;
D * d[2] ; }
该类型的大小为24个~~~
Evelyn_ever 2005-10-10
  • 打赏
  • 举报
回复
请教请教啊!!!

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧