C语言中,ElemType 是什么数据类型?

Python024

C语言中,ElemType 是什么数据类型?,第1张

在C语言数据结构中,关于数据元素类型定义均用“ ElemType e;”来表示,其中e是表示数据元素的变量,而ElemType则是它的类型,ElemType的含义就是“数据元素的类型”,是一个抽象的概念,是表示我们所要使用的数据元素应有的类型。

ElemType是数据结构上为了说明问题而用的一个词。它是element type(“元素的类型”)的简化体。

因为数据结构是讨论抽象的数据结构和算法,一种结构中元素的类型不一定是整型、字符型、浮点型或者用户自定义类型,为了不重复说明,使用过程用 “elemtype” 代表所有可能的数据类型,简单明了的概括整体。

在算法中,除特别说明外,规定ElemType的默认是int型。

拓展资料:

Elem Type的使用方法:

在定义结构体array的时候有这样一段:

typedef struct

{

ElemType data[maxsize]

int length

}array

使用:typedef int ElemType//定义ElemType为int类型

你想让它是什么类型自己用typedef重定义就行。

也可以用模板表示,类似template<class T>里面的T。

你是说的数据结构吧,elemtype只是一个别名,你要把自己要用的类型定义为elemtype才行。比如我的数据本身的类型是整型的,就这样写

typedef  int  elemtype

//下面就可以统一写

elemtype a,b  

//相当于int a,b

//这样的好处是可以适用于任何类型,只要在用的时候,再定义一次就行了

我理解你说的意思是不是想让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