定义如下代码所示的结构体,数据存储使用自然对齐的方式,请问存储对象b占用多少字节? typedef struct { char c1; char c2; long l; double d; }b;A.24B.20C.16D.12

定义如下代码所示的结构体,数据存储使用自然对齐的方式,请问存储对象b占用多少字节? typedef struct { char c1; char c2; long l; double d; }b;

A.24

B.20

C.16

D.12


参考答案和解析
正确

相关考题:

以下结构体类型说明和变量定义中正确的是A)typedef struct{int n; char c;} REC;REC t1,t2;B)struct REC;{int n; char c;};REC t1,t2;C)typedef struct REC ;{int n=0; char c='A';} t1,t2D)struct{int n;char c;}REC;REC t1,t2;

设有如下说明typedef struct{ int number; char class;double score;}student;则以下选项中,能正确定义结构体数组并赋初值的语句是( )。A.student tt[2]={{189,’A’,62},{190,’B’,75}};B.student tt[2]={189,’"A",62,190,"B",75};C.struct tt[2]={{189,’A’},{190,’B’}};D.struct tt[2]={{189,"A",62.5},{190,"B",75.0}};

● 给定 C 语言的数据结构struct T {int w;union T { char c; int i; double d; } U;};假设 char 类型变量的存储区大小是 1 字节,int 类型变量的存储区大小是 4 字节,double类型变量的存储区大小是 8 字节,则在不考虑字对齐方式的情况下,为存储一个 struct T类型变量所需要的存储区域至少应为 (15) 字节。(15)A. 4B. 8C. 12D. 17

以下结构体类型说明和变量定义中正确的是( )。A.typedef structB.struct REC; {int n;char c;}REC; {int n;char c;}; REC t1,t2; REC t1,t2;C.typedef struct REC;D.struct {int n=0;char c='A';}t1,t2; {int n;char c;}REC; REC t1,t2;

在16位IBM-PC机上使用C语言,若有如下定义struct data{ int i;char ch;double f;} b;则结构变量b占用内存的字节数是A.1B.2C.7D.11

设有如下说明typedef struct{ int n; char c; double x;}STD;则以下选项中 ,能正确定义结构体数组并赋初值的语句是A.STD tt[2]={{1,'A',62},{2,'B',75}};B.STD tt[2]={1,"A",62,2,"",75};C.struct tt[2]={{1,'A'},{2,'B'}};D.struct tt[2]={{1,"A",62.5},{2,"B",75.0}};

设有以下说明和定义:typedef union {long i; int k[5]; char c;} DATE;struct data { int cat; DATE cow; double dog;} too;DATE max;则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:___52____

C语言中各种基本数据类型的存储空间长度排列为( )A.char≤long≤int≤float≤doubleB.double≤float≤long≤int≤charC.char≤int≤long≤float≤doubleD.float≤int≤long≤char≤double

已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填______。 struct link { char data; ______; }node;A.struct link nextB.link * nextC.struct next linkD.struct link *next

设有以下说明和定义:includeVoid main() {typedef union{long i; int k[5]; char 设有以下说明和定义:#include<iostream. h>Void main() {typedef union{long i; int k[5]; char c;}DATE;struct date{iNt cat; DATE cow; double. dog;}too;DATE max;则下列语句的执行结果是( )。cout<<(sizeof(struct date)+sizeof(max))<<end1;}A.26B.52C.18D.8

以下选项中,能定义s为合法的结构体变量的是( )。A.typedef struct abc { double a; char b[10]; } s;B.struct { double a; char b[10]; }s;C.struct ABC { double a; char b[10]; } ABC s;D.typedef ABC { double a; char b[10]; } ABC s;

给定C语言的数据结构假设char类型变量的存储区大小是1字节,int类型变量的存储区大小是4字节,double类型变量的存储区大小是8字节,则在不考虑字对齐方式的情况下,为存储union T类型成员U所需要的存储区域至少应为(28)字节。A.4B.8C.12D.17

下列结构体类型说明和变量定义中正确的是( )。A.typedef struct {int n; char c;}REC; REC t1,t2;B.struct REC; {int n; char c;}; REC t1,t2;C.typedef struct REC; { int n=0; char c='A';} t1,t2;D.stmct { int n; char c;} REC; REC t1,t2;

已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填______。 struct 1ink { char data; }node;A.struct link nextB.link*nextC.sluct next linkD.struct link*next

设有以下说明语句 typedef struct { int n; char ch[8]; }PER;A.PER 是结构体变量名B.PER 是结构体类型名C.typedef struct 是结构体类型D.struct 是结构本类型名

有如下程序段#include "stdio.h"typedef union{ long x[2]; int y[4]; char z[8];}atx;typedef struct aa { long x[2]; int y[4]; char z[8];} stx;main(){ printf("union=%d,struct aa=%d\n",sizeof(atx),sizeof(stx));}则程序执行后输出的结果是A.union=8,struct aa=8 B.union=8,struct aa=24C.union=24,struct aa=8 D.union=24,struct aa=24

设有以下说明和定义:includeVoid main() {typedef union{long i; int k[5]; char 设有以下说明和定义: #include<iostream. h> Void main() { typedef union { long i; int k[5]; char c; } DATE; struct date {int cat; DATE cow; double dog; }too; DATE max; cout<<(sizeof(struct date)+sizeof(max))<<end1;}A.26B.52C.18D.8

设有以下说明和定义:typedef union{ long i;int k[5];char c; } DATE;struct date{ int cat;DATE cow;double dog; }too;DATE max;则下列语句的执行结果是______。printf("%d",sizeof (struct date) +sizeof(max));A.26B.30C.18D.8

若有以下语句:typedef struct S{int 9;char h;}T;以下叙述中正确的是( )。A.可用s定义结构体变量B.可用T定义结构体变量C.S是struct类型的变量D.T是struct S类型的变量

以下选项中,能定义s为合法的结构件变量的是_______。A.typedef struct abc { double a; char b[10]; }s;B.struct { double a; char b[10]; }sC.struct ABC { double a; char b[10]; } ABCs;D.typedef ABC { double a; char b[10]; } ABCs;

已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填______。 struct link { char data; ______, }node;A.struct link nextB.link *nextC.stuct next linkD.struct link *next

设有如下说明 typedef struct {int n;char c;double x;}STD; 则以下选项中,能正确定义结构体数组并赋初值的语句是A.STD tt[2]={{l,'A',62},{2,'B',75}};B.STD tt[2]={1,"A",62,2,"B",75};C.streetn[2]={{1,'A'},{2,'B'}};D.struct tt[2]={{1,"A",62.5},{2,"B",75.0}};

假设以下代码运行环境为32位系统,其中,__attribute__((packed))的作用是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐。代码段1:struct student1{char name[10];long sno;char sex;float score[4];}__attribute__((packed))*p1,a1,b1;代码段2:union student2{char name[10];long sno;char sex;float score[4];}*p2,a2,b2;sizeof(struct student1)、sizeof(union student2)的结果分别是______。A.248和128B.31和31C.31和16D.16和16

在C语言中(以16为PC机为例),5种基本数据类型的存储空间长度的排列顺序为()。A、char int long int = float doubleB、char = int long int = float doubleC、char int long int = float = doubleD、char = int = long int = float double

设有以下结构类型说明和变量定义,则变量a在内存所占字节数是().   struct stud { char num[8]; int s[4]; double ave; } a,*p;

下面语句定义了共用体(联合体)变量a,则a占用()个字节。union data { short int i ;char c ; double d;}a;

单选题对于结构声明: struct{ double c; long long g; float e; char *a; void *d; short b; char d; char f; }foo; 假设咋Windows机器上编译它,这里每个K字节的基本数据类型的偏移量必须是K的倍数,问这个结构总的大小是多少?()A31B32C48D64

单选题若有以下程序:typedef struct S{int g;char h;}T;以下叙述中正确的是(  )。A可用S定义结构体变量B可用T定义结构体变量CS是struct类型的变量DT是struct S类型的变量