数据结构中,struct pro { int id; char

题目

数据结构中,struct pro { int id; char name[20]; }; void fun(struct pro p[]) { ......;//函数体省略 }关于本程序段描述不正确的是()。

  • A、fun函数是按照值传递进行的
  • B、fun函数是结构体数组作为参数
  • C、结构体数组做参数,属于地址传递
  • D、数组p做参数传递是数组的首地址
参考答案和解析
正确答案:A
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有定义:

struct person

{ int ID;char name[12];}p;

请将 scanf("%d", 【 1 2 】 ); 语句补充完整,使其能够为结构体变量 p 的成员 ID 正确读入数据。


正确答案:

第2题:

下列语句段中,正确的是( )。

A.struct{int x;float y;int a[2];unsigned b[3];char name[10];};

B.struct stu{unsigned a[3];unsigned b[4];}x;int*p=&x.a;

C.struct stu{int a;float x[4];}y={1,1.0};float data=y.x;

D.struct nd{int a,b;unsigned c[2]=5;};


正确答案:A
解析: 本题主要考查的知识点是结构类型的概念和定义,结构定义的一般形式:
struct结构类型名称
{ 数据类型 成员名1;
数据类型 成员名2;

数据类型 成员名n;
};
struct为关键字,是结构的标识符;{}中包围的是组成该结构的成员项;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型。整个定义作为一个完整的语句,用分号结束。结构类型名称是可以省略的,此时定义的结构称为无名结构。

第3题:

以下结构体类型说明和变量定义中正确的是

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)struct

{int n;char c;}REC;

REC t1,t2;


正确答案:A

第4题:

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++

第5题:

以下结构体类型说明和变量定义中正确的是( )。

A.typedef struct

B.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;


正确答案:A
解析:选项A中用typedef定义结构体类型名REC后,REC能够唯一地标识这种结构体类型,可以用REC定义变量,这是正确的结构体类型变量的定义,选项C是错误的。选项B中“struct REC;”后面不应该加分号。选项D中的结构体是一个无名结构体类型,REC是结构体变量,不是结构体类型,因此不能用来定义结构体变量。

第6题:

若有下面说明和定义:struct test{ int m1;char m2;float m3;union uu(char u1[5];int u2[2];)ua;}myaa; 则sizeof(struct test)的值是( )。A)20 B)16C)14 D)9


正确答案:A
sizeof求在存储单元中所占字节数。

第7题:

● 给定 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. 4

B. 8

C. 12

D. 17


正确答案:C

第8题:

( 38 )有以下定义和语句

struct workers

{ int num;char name[20];char c;

struct

{ int day; int month; int year; } s;

} ;

struct workers w,*pw;

pw = &w;

能给 w 中 year 成员赋 1980 的语句是

A ) *pw.year = 198O;

B ) w.year=1980;

C ) pw->year=1980;

D ) w.s.year=1980;


正确答案:D

第9题:

若有下面的说明和定义

struct test

{ int ml; char m2; float m3;

union uu {char ul[5]; int u2[2];} ua;

} myaa;

则sizeof(struct test )的值是

A.12

B.16

C.14

D.9


正确答案:A

第10题:

下列对结构及其变量定义错误的是( )。

A.struct My Struct

B.struct MyStruct{ {int num; int num;char ch; char ch;} }My;

C.strut

D.struct{ {int num; int num;char ch; char ch;}My; };


正确答案:D

更多相关问题