首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个微软的题目(关于联合体sizeof),求大牛详细分析下,顺便问问联合和结构的区别解决方案

2012-02-16 
一个微软的题目(关于联合体sizeof),急求大牛详细分析下,顺便问问联合和结构的区别typedef union record{LO

一个微软的题目(关于联合体sizeof),急求大牛详细分析下,顺便问问联合和结构的区别
typedef union record
{
  LONG lIndex;  
  SHORT sLevel[6];  
  CHAR cPos;  
} REC_S;

REC_SstMax,*pMax;
CHARstr[] = “Hello” ;
CHAR*pChar = str ;
ULONGulGrade = 10;
USHORTusClass = 10;
DOUBLEdWeight
UCHAR*pCharArray[10][10];

Sizeof(stMax/pMax/str/pChar/ulGrade/usClass/dWeight/pCharArray)的取值分别是多少?


[解决办法]
32位系统:
12,联合体成员最大宽度
4,指针宽度
6,数组虽说某些时候和指针等价,但在sizeof运算时并不相同,字符str数组的大小为6,含末尾的\0,每个元素占1字节
4,指针宽度
4,long 宽度
2,short宽度
8,double宽度
400,100个元素,每个元素的类型是char *指针,大小为4,故总大小为100*4

热点排行