![](https://csdnimg.cn/release/download_crawler_static/86888844/bg5.jpg)
19.设有以下宏定义:
#define N 3
#define Y(n) ((N+1)*n) /*这种定义在编程规范中是严格禁止的*/
则执行语句:z = 2 * (N + Y(5 + 1));后,z 的值为( )
A) 出错 B) 42 C) 48 D)54
答案:C
20. int *(*ptr)();
则以下叙述中正确的是( )
A) ptr 是指向一维组数的指针变量
B) ptr 是指向 int 型数据的指针变量
C) ptr 是指向函数的指针,该函数返回一个 int 型数据
D) ptr 是指向函数的指针,该函数的返回值是指向 int 型数据的指针
答案:D
21. 0x12345678 在采用 BigEndian 中内存的排列顺序是______,在采用 LittleEndian 内存
中的排列顺序是_______.
(答案从左到右内存地址依次增加)
A.12 34 56 78 B.34 12 78 56
C.78 56 34 12 D.56 78 12 34
答案:A C
二、填空:
1. .struct tagAAA
{
unsigned char ucId:1;
unsigned char ucPara0:2;
unsigned char ucState:6;
unsigned char ucTail:4;
unsigned char ucAvail;
unsigned char ucTail2:4;
unsigned long ulData;
}AAA_S;
问:AAA_S 在字节对齐分别为 1、4 的情况下,占用的空间大小是多少?
答案:9 12
2.typedef struct tagTest
{
UCHAR ucFlag;
ULONG ulLen;
}TEST_S;
TEST_S test[10];
四字节对齐方式时: sizeof(TEST_S) = ______, sizeof(test)________.
答案:8 80
3
char acHello[] = "hello\0world";