以下对结构体类型变量td的定义中,错误的是( )。A.typcdef struct aa { int n; float m; } AA; AA

题目

以下对结构体类型变量td的定义中,错误的是( )。

A.typcdef struct aa { int n; float m; } AA; AA td;

B.struct aa {int n; float m; } struct aa td;

C.struct {int n; float m; } aa; struct aa td;

D.struct {int n; float m; }td;

参考答案和解析
正确答案:C
解析:选项A)中typedef的作用是声明一个新的类型名AA代替已有的结构体类型名struetaa,然后用AA定义结构体类型变量td;选项B)直接用结构体类型名structaa定义结构体类型变量td;选项C)中的aa本身就为结构体变量名,所以不能再用它来定义结构体变量,该项错误;选项D)省去了结构体名,直接将td定义为结构体变量,正确。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下对结构体类型变量的定义中,不正确的是

A.typedef struct aa

{ int n;

float m;

}AA;

AA tdl;

B.#define AA struct aa

AA{ int n;

float m;

} tdl;

C.struct

{ int n;

float m;

} aa;

struct aa tdl;

D.struct

{ int n;

float m;

} tdl;


正确答案:C

第2题:

设A为已定义的类名,下列声明A类的对象a的语句中正确的是()

A.float Aa;

B.Public Aa=A();

C.Aa=new int();

D.static Aa=new A();


正确答案:D

第3题:

以下程序中函数 fun 的功能是:统计 person 所指结构体数组中所有性别 (sex) 为 M 的记录的个数 , 存入变量 n 中,并做为函数值返回。请填空:

#include <stdio.h>

#define N 3

typedef struct

{ int num;char nam[10]; char sex;} SS;

int fun(SS person[])

{ int i,n=0;

for(i=0;i<N;i++)

if( 【 14 】 =='M') n++;

return n;

}

main()

{ SS W[N]={{1, "AA", 'F'},{2, "BB",'M'},{3,"CC", 'M'}}; int n;

n=fun(W); printf("n=%d\n",n);

}


正确答案:

第4题:

以下对结构体类型变量的定义中,不正确的是______。

A.typedef struct aa { int n; float m; }AA; AA td1;

B.#define AA struct aa AA {int n; float m; }td1;

C.struct {int n; float m; }aa; srtuct aa td1:

D.struct {int n; float m; }tdl;


正确答案:C
解析:选项A是先定义一个结构体类型,然后再定义结构体变量。选项B是通过宏替换来定义结构变量的。选项D则是直接定义结构变量。

第5题:

C数组名称是指针变量吗?

看这段程序,可是执行。#include <stdio.h>int main(int argc, char *argv[]){ struct info { char name[33]; int age; }; struct info aa[3]={"meng",20,"juan",29,"an",59}; struct info *p=aa; for(int i=0;i<3;i++,p++) printf("%-6s %d\n",p->name,p->age);}将其改成这样:#include <stdio.h>int main(int argc, char *argv[]){ struct info { char name[33]; int age; }; struct info aa[3]={"meng",20,"juan",29,"an",59}; //struct info *p=aa; for(int i=0;i<3;i++,aa++) printf("%-6s %d\n",aa->name,aa->age);}为什么就执行不了呢


C数组名称是指针变量吗 C数组名是个指针常量指向数组首元素的地址,常量是 不能自加或者自减的,所以 不能 aa++

第6题:

有如下类定义:

class AA

{

int a;

public:

int getRef() const{return &a;} // ①

int getvalue() const{return a;} // ②

void set(int n) const{a=n;} // ③

friend void show(AA aa) const {cout< // ④

};

其中的四个函数定义中正确的是

A . ①

B . ②

C . ③

D . ④


正确答案:B

第7题:

现有如下定义:struct aa{int a;float b;char c;}*p;现需用malloc函数动态的申请一个struct aa类型大小的空间(由p指向),则定义的语句为: 【17】 。


正确答案:
p=(struct aa *) malloc (sizeof(struct aa));

第8题:

若有以下说明和定义语句,则变量w在内存中所占的字节数是 【19】 。

union aa {float x; float y; char c[6]; };

struct st{ union aa v; float w[5]; double ave; } w;


正确答案:
34

第9题:

struct{int num;float scor;}student;struct student std1;是对结构体类型的变量student的定义。()

此题为判断题(对,错)。


参考答案:错误

第10题:

若有下面的说明和定义,则sizeof(struct aa) 的值是 struct aa { int rl;double r2;float r3; union uu {char ul [5];long u2[2]}ua; }mya;

A.30

B.29

C.24

D.22


正确答案:D
解析:结构体变量所占内存长度是各成员占的内存长度之和,每个成员分别占有自己的内存单元;共用体变量所占的内存长度等于最长的成员的长度。结构体变量aa中,成员r1占2个字节,r2占8个字节,r3占4个字节,共用体ua占8个字节,所以共占用2+8+4+8=22个字节。

更多相关问题