第2个回答 2021-08-16
高级程序设计语言C中,你在学习的时候,会学到例如整型、实型、字符型以及结构型的数据类型。这些数据类型是在C语言中的基本数据类型,此处你可以理解为是数值型的数据类型。
那么,如何理解你所说得抽象数据类型呢?先对数据结构这四个字做个分解。
数据结构=数据+结构
数据分为数值型和非数值型
结构分为逻辑结构和物理结构
那么抽象数据类型就是指在C语言环境下没有的数据类型,即排除数值型数据类型以外的类型,明白了吗,因为在还没有出现面向对象编程前,现有的C提供的数据类型已经不能满足程序设计的需要,但是为了满足针对现实客观事物的存在需要,通过C语言所提供的结构struct来实现对现有世界的编程需要。
这个抽象是人为的,就是由人对所研究事物的数学抽象,把具体的事物看做是像基本数据类型那样的一种类型,此时虽然在程序设计中并不存在这种数据类型,但是为了程序设计需要,必须通过抽象的手段和方式来对所研究的事物进行一种人为定义的数据类型,而我们将这种数据类型称为抽象数据类型。
C语言中的结构struct是C语言所提供的一种满足人为需要的抽象数据类型的模板。在后来面向对象编程的出现,也是以C语言中的结构struct为基础,做出的面向对象的类的概念,从而设计出类与对象的编程思想,这里对象不就是C中的指针体现吗,对吧。只不过C中的指针更加直观,而类中的对象隐藏了指针的功能而已。
以上的个人观点,希望对你有所帮助吧,相互学习,谢谢!