#include<stdio.h> typedef int ElemType typedef struct LQNode,*LinkQNode { ElemType data; struct LQNode *next; }LQNode,*LinkQNode; 报错,该怎么修改
时间: 2024-10-15 07:20:06 浏览: 9
这段代码中包含了一些语法错误,并且结构体指针定义的方式有些混淆。以下是修改后的建议:
1. 将 `LinkQNode` 类型别名定义调整为正确的结构体指针形式:
```c
typedef struct LQNode LQNode;
typedef LQNode* LinkQNode;
```
这里将 `LinkQNode` 定义为 `LQNode` 结构体类型的指针。
2. 把 `struct LQNode` 放在一起定义,以便于理解:
```c
typedef int ElemType;
typedef struct {
ElemType data;
struct LQNode *next;
} LQNode;
typedef LQNode *LinkQNode;
```
3. 如果 `LinkQueue` 结构体不需要定义新的成员,可以直接简化为只包含两个成员:
```c
typedef int ElemType;
typedef struct LQNode {
ElemType data;
struct LQNode *next;
} LQNode;
typedef LQNode *LinkQNode;
typedef struct {
LQNode *front;
LQNode *rear;
} LinkQueue;
```
现在代码看起来应该是这样的:
```c
#include<stdio.h>
typedef int ElemType;
typedef struct LQNode {
ElemType data;
struct LQNode *next;
} LQNode;
typedef LQNode *LinkQNode;
typedef struct {
LQNode *front;
LQNode *rear;
} LinkQueue;
// 然后照常继续后面的函数定义...
```
阅读全文