求教,C中结构体typedef struct char data; TREE* lc; TREE* rc; TREE;

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教,C中结构体typedef struct char data; TREE* lc; TREE* rc; TREE;相关的知识,希望对你有一定的参考价值。

编译器报错啊,在结构体中定义指向此类结构体的指针,是这样写的吗?

typedef struct TREE char data; TREE* lc; TREE* rc; TREE;
要在成员中出现TREE之前就告诉编译器,TREE是个结构类型名。
参考技术A 对头 顶楼上~

.有以下的结构体变量定义语句: struct student int num; c

.有以下的结构体变量定义语句:
struct student int num; char name[9]; stu;则下列叙述中错误的是B 。
A.结构体类型名为student    B.结构体类型名为stu    
C.num是结构体成员名   D.struct是C的关键字
B选项中stu是什么?起什么作用?

是这样的,这个结构体变量定义的语句是

struct student

    int num;
    char name[9];
stu;

你看到在结构体变量定义后面有一个stu,意思就是马上用这个结构体声明一个变量,也就其实stu是一个结构体student的一个变量,这样写可以直接用这个变量而不用再次进行变量的声明

追问

stu不是结构体的别名吗?

别名不是类型名?

追答

你这里不是用的别名,而是变量名,跟你说了这种写法只是声明了一个变量而已,如果你是想起别名,应该写成

typedef struct

    int num;
    char name[9];
stu;

参考技术A a

b
x
这是结构体对象
c

d

结构体是c/c++
的复合类型
结构类型名就是你新建的结构体的名称(对象类型)
结构体中的每个类型都是该结构体的成员
关键字的实质就是你的变量名字不能是这个名字
他被c/c++
占用了,你不可以用

以上是关于求教,C中结构体typedef struct char data; TREE* lc; TREE* rc; TREE;的主要内容,如果未能解决你的问题,请参考以下文章

typedef的用法结构体

c结构体 struct typedef详解

.有以下的结构体变量定义语句: struct student int num; c

关于c语言struct和typedef

typedef struct bitree char data; struct bitree *lc,*rc; bitree,*btree;

C语言typedef问题