C语言elemtype

数据结构里其中有一段是这样的:
typedef struct{
elemtype *elem;
int length;
int listsize;
}sqlist;
其中elemtype不是关键字,那么如果我要让这个语句在C程序中能执行,应该怎么写?

我理解你说的意思是不是想让elemtype可以替换任意一种类型?
如果是的话,这种东西叫做模板,它是C++的内容,不在C语言的范畴内。

具体用法是:
template <typename elemtype>
typedef struct{
elemtype *elem;
int length;
int listsize;
}sqlist;

之后声明变量时要赋予elemtype一个已知的类型,比如int。
struct sqlist<int> a;
对于a这里面的elemtype就变成了int。
不过这是C++的内容,C里面不能用。

如果不用模板,而必须在C语言里用的话,有两种方法。
1. 之前声明它
typedef int elemtype;
2. 之前预编译它
#define elemtype int
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-02-11
在typedef struct之前加上 elemtype 的定义,例如:
typedef char elemtype;
相似回答