C语言一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 16:12:10
typedef struct pnode
{int coef;
int exp;
struct pnode *next;
}pnode;
为什么定义了结构体pnode的同时,又可以把pnode命名为一个类型定义?
不会有冲突?还是有别的什么说法?
那么 我定义一个整形变量叫int的也可以?
int int; ???

这里有三个pnode
第一个就是定义一个结构体类型pnode
struct pnode *next;定义一个指向pnode类型的指针,叫next
最后的pnode是创建一个名叫pnode的pnode类型的结构体;
这里的pnode是一种类型,和int类型一样
但申明一个类型后,还要有这个类型的变量,相当于int a;
只不过这里类型名和变量名是一样的
不知道这样说你能不能看懂。

这是链表的做法
struct pnode *next; 是指向下个结构的首地址

二楼嗒:
你就没看清问题,人家问的是第一个PONDE和最后一个PONDE有没有冲突.
没冲突.

你的定义完全正确啊,没有冲突

后面的pnode只是结构命名