typedef struct S { char *data; int top; int maxsize; }* Stack;S = (Stack )malloc(sizeof(* Stack));
时间: 2023-11-19 12:05:38 浏览: 67
sizeof计算struct大小
4星 · 用户满意度95%
这段代码有一些问题,首先是将结构体名 `S` 作为类型名来使用,应该定义一个 `typedef` 来给它取一个类型名。其次是 `* Stack`,这是一个指针类型,但是没有指定它指向的类型,应该指定为 `struct S`。最后是 `sizeof(* Stack)`,这里应该直接写成 `sizeof(struct S)`。
正确的代码应该是这样的:
```
typedef struct StackStruct {
char *data;
int top;
int maxsize;
} *Stack;
Stack s = (Stack)malloc(sizeof(struct StackStruct));
```
阅读全文