以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整型数据;成员变量link是指向自身结构体的指针。请将定义补充完整。 struct node {int info; link; };
时间: 2023-12-03 12:44:47 浏览: 49
完整的结构体定义如下所示:
```
struct node {
int info;
struct node *link;
};
```
其中,`info`是一个整型变量用于存储整型数据,`link`是一个指向自身结构体的指针,用于构建链表等数据结构。注意,在定义结构体类型的时候,需要在成员变量`link`前加上`struct node *`,表示指向自身类型的指针。
相关问题
18.以下对结构体类型叙述错误的是()。 A.结构体成员可以是其它结构体变量 B.结构体成员可以是自身结构体变量 C.结构体成员可以是其它结构体指针 D.结构体成员可以是自身结构体指针
在C语言中,结构体类型描述的是数据的集合,其成员可以包括不同类型的变量,包括其他结构体、基本数据类型、指针等。根据这些规则:
A. 结构体成员可以是其它结构体变量,这是正确的,因为可以通过包含另一个结构体的实例来组合数据。
B. 结构体成员可以是自身结构体变量,这也是正确的,可以嵌套定义。
C. 结构体成员可以是其它结构体指针,这也是允许的,因为可以使用指针引用和操作其他结构体。
D. **结构体成员可以是自身结构体指针**,这个选项看起来可能有歧义,因为通常情况下,结构体成员是指向该结构体自身的指针(self-referential pointer),即struct类型的指针,但并不是说结构体内部可以有一个指向自身的成员。所以,如果指的是可以有指针类型成员,它可以是任何结构体类型,包括自身,但不是“自身结构体指针”(self-referential struct)。
所以,描述错误的是**D. 结构体成员可以是自身结构体指针**,这可能是想要表达“结构体内部可以有一个指向自身的指针”的意思,而不是结构体成员就是结构体本身的指针。正确表述应该是“结构体内部可以包含指向自身结构体的指针”。
定义一个结构体类型student(成员有:一个字符数组no、一个字符数组name,一个整型变量age,一个字符型变量 sex等,成员自己可以根据需要添加),在main函数内定义一个该结构体类型的变量,定义一个指向该变量的指针,给结构体变量各成员赋值并用指针将该变量的各成员值输出。
好的,这是一个关于 C 语言的问题。可以回答。
定义结构体类型 student 可以这样写:
```
struct student {
char no[20];
char name[20];
int age;
char sex;
};
```
在 main 函数内定义一个该结构体类型的变量和一个指向该变量的指针,可以这样写:
```
int main() {
struct student stu = {"20210001", "张三", 20, 'M'};
struct student *p = &stu;
printf("学号:%s\n", p->no);
printf("姓名:%s\n", p->name);
printf("年龄:%d\n", p->age);
printf("性别:%c\n", p->sex);
return ;
}
```
这样就可以给结构体变量各成员赋值并用指针将该变量的各成员值输出了。
阅读全文