从C语言的角度来解释什么是抽象数据类型?
展开全部
简单的说一下吧,所谓抽象数据类型ADT,是指 我们在逻辑上定义的 一种 数据类型。
如你所知道的,计算机内,无论是内存还是外存,都只是一组二进制的数位而已。
大多数时候,比如我们所熟知的 Char类型、Int类型等等,都是一组已经定义好的二进制数位。
所谓定义好,是指,在这一组数位中,如Char类型,8位,即一组8个二进制数位,我们如何标识和处理每一位,以及解读每一位所代表的意义。
你学过C,应该知道ASCII码,和二进制计数。 Char的这个数据类型的含义就是说 以二进制计数 算出对应的数值, 再以ASCII码为标准,解读出这8位二进制位中所表示的字母。
事实上,我想说的是,这就是一个基本的抽象数据类型了。
当然,ADT不仅仅是一组数位的定义,他还包括一组定义在这个结构上的一组操作。
struct这个方法,在后来的演变中,成为了C++和其他高等语言中的类(class)。
我知道,这样讲你肯定不是很明白,但关于这个东西,有一门课程叫做《数据结构》,中间详细叙述了所有有关 抽象数据类型的概念 。
其中,有一本 《数据结构C语言版》清华大学出版社 严蔚敏著 的教材,是所有计算机专业学生必修的一门课程。你可以看看。
祝好运!
如你所知道的,计算机内,无论是内存还是外存,都只是一组二进制的数位而已。
大多数时候,比如我们所熟知的 Char类型、Int类型等等,都是一组已经定义好的二进制数位。
所谓定义好,是指,在这一组数位中,如Char类型,8位,即一组8个二进制数位,我们如何标识和处理每一位,以及解读每一位所代表的意义。
你学过C,应该知道ASCII码,和二进制计数。 Char的这个数据类型的含义就是说 以二进制计数 算出对应的数值, 再以ASCII码为标准,解读出这8位二进制位中所表示的字母。
事实上,我想说的是,这就是一个基本的抽象数据类型了。
当然,ADT不仅仅是一组数位的定义,他还包括一组定义在这个结构上的一组操作。
struct这个方法,在后来的演变中,成为了C++和其他高等语言中的类(class)。
我知道,这样讲你肯定不是很明白,但关于这个东西,有一门课程叫做《数据结构》,中间详细叙述了所有有关 抽象数据类型的概念 。
其中,有一本 《数据结构C语言版》清华大学出版社 严蔚敏著 的教材,是所有计算机专业学生必修的一门课程。你可以看看。
祝好运!
展开全部
数据类型包括两个方面:1,这种类型所能代表的值的范围,或者说这种类型里面存的是什么东西;2,可以对这种类型做什么操作
所谓抽象数据类型,就是你在使用这个类型的时候,只要知道上面两点就可以了,你不用去管它里面是怎么实现的。如果该类型的具体实现改变了,也不会影响使用这个类型的已有的程序的代码。比如你在C语言里面经常用到int这个类型,但你从来没想过它是怎么来实现int与int之间的加法,乘法的,你也不需要知道。哪天编译器把int型的加法改了一下,跟你也没关系,你只要会使用就行了。
所谓抽象数据类型,就是你在使用这个类型的时候,只要知道上面两点就可以了,你不用去管它里面是怎么实现的。如果该类型的具体实现改变了,也不会影响使用这个类型的已有的程序的代码。比如你在C语言里面经常用到int这个类型,但你从来没想过它是怎么来实现int与int之间的加法,乘法的,你也不需要知道。哪天编译器把int型的加法改了一下,跟你也没关系,你只要会使用就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |