首页/ 题库 / [单选题]设有如下说明: typedef stru的答案

设有如下说明: typedef struct ST { long a;int b;char c[2];} NEW; 则下面叙述中正确的是( )。

单选题
2022-01-14 23:04
A、以上的说明形式非法
B、ST是一个结构体类型
C、NEW是一个结构体类型
D、NEW是一个结构体变量
查看答案

正确答案
C

试题解析
解析:将题目中的定义语句去掉前面的typedef和后面的NEW(分号保留),就是一条完整的结构体定义语句,其中struct是说明符,ST是结构体名,大括号里面的是结构体成员的定义。此时要声明该结构体变量时需要使用struct加结构体名一起来声明,structST一起构成一个结构体类型,就好像字符类型char。若只去掉前面的typedef,就是一条结构体定义同时声明一个结构体变量NEW的语句,因为NEW的前面部分是structST的完整写法,可以看作是structST。C语言允许用typedef说明一种新类型名,其语法格式为:typedef类型名标识符;以后就可以用该标识符来代替被说明的类型名了。因此,当前面存在typedef时,该语句就变成了给structST的完整写法定义一个新的名称NEW。所以,此时的NEW是一个结构体类型,它相当于structST,即可以和char一样单独用来声明该结构体变量,而ST只是一个结构体名,不能单独用来声明变量。所以,4个选项中C符合题意。

标签:
感兴趣题目
设有如下说明 typedef struct ST { long a; int b; char c[2];} NEW; 则下面叙述中正确的是
设有如下说明: typedef struct ST { long a;int b;char c[2];} NEW; 则下面叙述中正确的是( )。
若有如下说明,则______的叙述是正确的。 struct st { int a; int b[2]; }a;
有如下程序段#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
若有以下说明和语句: struct st{int n;char*ch;}; struct st a[3]={5,"abc",7,"def",9,"ghk"},*p=a; 则值为6的表达式是______。
若有如下说明,则______的叙述是正确的。 struct st { int a; int b[2]; }a;
已知如下定义,则sizeof(a)的值是 struct{ int i; char c; double a;}a;
已知如下定义,则sizeof(a)的值是struct{int i;char c;double a; } a;
以下程序的输出结果是 #include<stdio.h> main() { union un{ int i; long k; char c;}; struct byte{ int a; long b; union un c;}r; printf("%d ",sizeof(r));}
以下程序的输出结果是( ) # include<stdio.h> main() { union un{int i; long k; char c; }; struct byte{ int a; long b; union un c; } r; printf("%d ",sizeof(r)); }
若有如下说明,且int类型占两个字节,则正确的叙述为( )。 struct st {int a; int b[2]; }a;
设有以下语句:Typedef struct TT{char c; int a[4];}CIN;则下面叙述中错误的是( )。A.不可以用TT定义结构体变量B.TT是结构体标识名C.可以用CIN定义结构体变量D.CIN是struct TT类型的变量
相关题目
设有以下语句:

typedef struct TT

{char c;int a[4];}CIN;

则下列叙述中正确的是(  )。

设有以下说明语句 typedef struct { int n; char ch[8]; }PER;
设有以下语句:typedef struct TY{char C;int a{4 1;}CIN;则下面叙述中正确的是( )。
设有以下语句: typedef struct S { int g; char h; } T; 则下面叙述中正确的是( )。
设有以下说明语句 typedef struct { int n; char ch[8]; } PER; 则下面叙述中正确的是
设有以下说明语句 typedef struct { int n; char ch[8]; }PER; 则下面叙述中正确的是
设有以下语句 typedef struct TT {char c; int a[4];}CIN; 则下面叙述中正确的是______。
设有以下语句 typedef struct s {int g;char h;}T 则下面叙述中正确的是
设有以下说明语句: typedef struct { int n; char ch[8]; }PER; 则下面叙述中,正确的是( )。
设有以下语句: typedef struct TT {char c; int a[4];}CIN; 则下面叙述中正确的是( )。
设有以下定义: typedef union {long i;int k[5];char c,}DATE, struct date {int cat;DATE cow;double dog;}too; DATE max; 则下列语句的执行结果是( ) printf("%d",stzeof(struct date)+sizeof(max));
设有以下说明和定义: typedef union {long i int k[5];char c;}DATE; struct date {int cat;DATE cow;double dog;}too; DATE max; 则下列语句的执行结果是 ( ) printf("%d",sizeof(struet date)+sizeof(max));
设有如下说明 typedef struct { int n; char c;double X;}STD; 则以下选项中,能正确定义结构体数组并赋初值的语句是
设有如下说明: typedef struct { int n; char c;double x;}STD; 则以下选项:能正确定义结构体数组并赋初值的语句是( )。
设有如下说明:typedef struct{int n;char c;double x;}STD;有以下选项,能正确定义结构体数组并赋初值的语句是( )。
设有如下说明typedef struct{ int n; char c; double x;}STD;则以下选项中 ,能正确定义结构体数组并赋初值的语句是
设有如下说明: typedef struct {int n; char c; double x;) STD; 则以下选项中,能正确定义结构体数组并赋初值的语句是( )。
设有如下说明 typedef struct {int n;char c;double x;}STD; 则以下选项中,能正确定义结构体数组并赋初值的语句是
设有以下C语言说明语句,则值为210的表达式是(33)。 struct s { int a;int *b;}; Int x0[]={110,120},x1[]={210,220}; struct s x[]={{100},{200}},*p=x; x[0].b=x0;x[1].b=x1;
设有如下说明 typedef struct ST {long a;int b;char c[2];}NEW; 则下面叙述中正确的是
广告位招租WX:84302438

免费的网站请分享给朋友吧