(ElemType *)是啥意思?
ElemType(也有的书上称之为elemtp)是数据结构的书上为了说明问题而用的一个词。它是element type(“元素的类型”)的简化体。
因为数据结构是讨论抽象的数据存储和算法的,一种结构中元素的类型不一定是整型、字符型、浮点型或者用户自定义类型,为了不重复说明,使用过程中用“elemtype”代表所有可能的数据类型,简单明了的概括了整体。
例子:ElemType *是定义指向这种类型的指针,p=(ElemType *)malloc(8*sizeof(ElemType)),开辟8个ElemType大小的内存空间,把地址分配给指向ElemType的指针p。
扩展资料:
elem是单词element(元素)的缩写,在程序定义中代表某一不确定的类型,也就是抽象的数据类型。
为了使程序可读性强,并且便于修改,让elem代表多种的数据类型,也就是为int、char等等的数据类型,起了一个别名。
在头文件中定义:typedef char elem; 表示:抽象元素类型为char类型,这样定义之后,下面的程序中elem所定义的元素就是char类型的了。
如果需要修改其类型,直接修改char到其他类型,elem便又代表了所修改的类型数据,这也是方便性的体现。
(ElemType *)具体用法是:
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
参考资料:百度百科:elem type
ElemType(也有的书上称之为elemtp)是数据结构的书上为了说明问题而用的一个词。它是element type(“元素的类型”)的简化体。
因为数据结构是讨论抽象的数据存储和算法的,一种结构中元素的类型不一定是整型、字符型、浮点型或者用户自定义类型,为了不重复说明,使用过程中用“elemtype”代表所有可能的数据类型,简单明了的概括了整体。在算法中,除特别说明外,规定ElemType的默认是int型。
例子:ElemType *是定义指向这种类型的指针,p=(ElemType *)malloc(8*sizeof(ElemType)),开辟8个ElemType大小的内存空间,把地址分配给指向ElemType的指针p。
扩展资料
elem是单词element(元素)的缩写,在程序定义中代表某一不确定的类型,也就是抽象的数据类型为了使程序可读性强,并且便于修改,让elem代表多种的数据类型也就是为int、char等等的数据类型,起了一个别名在头文件中定义:typedef char elem;
/* 抽象元素类型为char类型,这样定义之后,下面的程序中elem所定义的元素就是char类型的了 */如果需要修改其类型,直接修改char到其他类型,elem便又代表了所修改的类型数据,这也是方便性的体现。
参考资料来源:百度百科:elemtype
ElemType是抽象数据类型的定义啊
你想定义什么就定义什么了
ElemType *是定义指向这种类型的指针
p=(ElemType *)malloc(8*sizeof(ElemType))
开辟8个ElemType大小的内存空间,把地址分配给指向ElemType的指针p
广告 您可能关注的内容 |