📅  最后修改于: 2020-10-23 05:56:08             🧑  作者: Mango
struct employ
{
int ecode;
struct employ *e;
};
正确的选项是(c)。
说明:
这种类型的声明称为自引用结构。允许在程序中使用这种类型的声明。
* e是指向结构采用的指针。
因此,编译器将在程序中返回无错误
正确的选项是(b)。
说明:
错误,允许在联合内部使用位字段。
下面给出了在联合体内使用位字段的C程序:
正确的选项是(a)。
说明:
的确,并集元素可以具有不同的大小。
所有联合元素可能具有不同的大小,但它们共享内存的公共空间。
struct employ
{
char *p;
int age;
};
struct employ e={"javaTpoint", 25};
FILE *fp;
fwrite(&e, sizeof(e), 1, fp);
正确的选项是(b)。
说明:
否,因为在程序中使用fwrite()将结构写入磁盘时,程序中的结构包含char指针,因此只会写入存储在指针“ n”中的数据。因此, fread()无法读取指针中存储的数据。
因此, fread()无法成功读回它。
#include
int main()
{
struct values
{
int bit1:1;
int bit3:3;
int bit4:4;
}bit;
printf("%d \n", sizeof(bit));
return 0;
}
正确的选项是(c)。
说明:
由于C语言是机器或编译器相关的语言。在Turbo C(DOS)中,整数数据类型的大小为2。
因此,语句printf(“%d \ n”,sizeof(bit));在输出中输出值2。