设有以下定义和语句,输出的结果是(用small模式编译,指针变量占2个字节)( )。 struct U { long*cat; stmct U*next; double dog; }u;

admin2019-12-17  44

问题 设有以下定义和语句,输出的结果是(用small模式编译,指针变量占2个字节)(    )。
    struct U
    {  long*cat;
       stmct U*next;
       double dog;
    }u;
    printf("%d",sizeof(u));

选项 A、20
B、16
C、14
D、12

答案D

解析 当结构成员是指针时,它将占用2字节的存储单元(在small编译模式下),而与它所指向的数据类型无关。本题中,指针cat的长度为2字节;next是指向结构struct U的指针,但它本身也只是一个指针,其长度也是2字节;double型变量dog的长度为8字节。因此,结构变量u的总长度为12字节。
转载请注明原文地址:https://kaotiyun.com/show/abCp777K
0

最新回复(0)