当说明一个结构体变量时,系统分配给它的内存是 A) 各成员所需内存量的总和 B) 结构中第一个成员

当说明一个结构体变量时,系统分配给它的内存是
A) 各成员所需内存量的总和 B) 结构中第一个成员所需内存量
C) 成员中占内存量最大者所需的容量 D) 结构中最后一个成员所需内存量

A、各成员所需要内存量的总和

当说明一个结构体变量时,系统分配给它的内存是各成员所需要内存量的总和。本题主要考查结构体的内存使用:对结构体而言,结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立。

扩展资料:

结构体类型不是由系统定义好的,而是需要程序设计者自己定义的。C语言提供了关键字struct来标识所定义的结构体类型。关键字struct和结构体名组合成一种类型标识符,其地位如同通常的int、char等类型标识符,其用途就像int类型标识符标识整型变量一样可以用来定义结构体变量。

定义变量以后,该变量就可以像定义的其他变量一样使用了;成员又称为成员变量,它是结构体所包含的若干个基本的结构类型,必须用“{}”括起来,并且要以分号结束,每个成员应表明具体的数据类型

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-27
A,书上有定义呀,用malloc来分配内存时就是从内存取各成员所需内存量的总和追问

我们书上只是说根据结构体类型中包含的成员情况来分配内存单元

追答

所以说啊,,根据结构体类型中包含的成员情况来分配内存单元不就是要你算出各成员所需内存量的总和吗,,这个我都敲了好几百遍了的,,给你看看怎么申请空间

#include <stdio.h>
#include <stdlib.h>

struct node
{
int a;
char ch;
}node;

int main()
{
struct node* n;  //结构体指针 
n = (struct node*)malloc(sizeof(node)); //申请空间 ,申请的空间是node里元素所占内存的总和,这里可以看成4个字节(int)加1个字节 (char) 
n->a = 1;
n->ch = 'a';
printf("%d %c\n", n->a, n->ch);//赋值后输出 
return 0;
}

追问

解释的太完美了

以下关于结构化程序设计的叙述中正确的是
A.一个结构化程序必须同时由顺序、分支、循环三种结构组成
B.结构化程序使用goto语句会很便捷
C.在C语言中,程序的模块化是利用函数实现的
D.由三种基本结构构成的程序只能解决小规模的问题 这一题选什么

追答

选C吧,,A不是必须同时由他们组成,单个也行,,B使用goto只会是程序更杂乱,,D明显错了,,就是用结构化的程序来解决大规模问题的

追问

我觉着也是的,但百度结果还算不上差强人意

只好请教你了

追答

哦哦,,我也是闲的无聊,,来回答问题玩玩

本回答被提问者采纳
相似回答