概述
数据类型
对于基本数据类型来说,如整型int、long、。。。(面试中所涉及到的题目,如果没有特殊要求,int类型足够了),同理,字符型char,浮点型float,此处不做赘述,本文主要说的是结构型和指针型。
结构型
结构型可以理解为用户用已有的数据类型(int、char、float)为原料制作的数据类型。(我将其理解为Java中的类)。其实,数组也可以理解为一个结构型,不过数组是多个相同数据类型的变量组合起来的。例如:
int a[maxSize];//maxSize是已经定义好的常量
上述语句定义了一个数组,名字为a,也就是说将maxSize个整型变量连续摆在一起,各个变量之间的关系,通过下标来反映。
结构体就是系统提供给程序员制作新的数据类型的一种机制,即使用系统已有的数据类型或者用户自己定义的结构型,组成用户自己需要的复杂的数据类型,例如:
typedef struct
{
int a;
char b;
float c;
}TypeA;
上述语句制造出一个新的数据类型:TypeA型。定义好结构体之后,我们可以通过***TypeA a***定义出一个新数据类型,对于新的数据类型来说,a.a;a.b;a.c分别表示此结构体变量a的三个元素的值。
同理***TypeA a[3]***表示定义了一个由3个TypeA个结构体连续摆在一起组成的数组,此处不再赘述。
指针型
指针型和结构型一样,是比较难理解的一部分,其它类型的变量,变量中是数据元素的内容,然而,指针型变量中装的是变量的地址,通过地址,可以很方便找出这个变量在内存中的位置,宛如一个指示方向的指针,所以被称为***指针型***。
指针型的定义方法:指针型对于每一种数据类型都有特定的写法:
int *a; //对比一下定义int类型变量的语句 int a;
char *b; //对比一下定义char类型变量的语句 char b;
float *c; //对比一下定义float类型变量的语句 float c;
TypeA *d; //对比一下定义TypeA类型结构体变量的语句 TypeA d;
如果a是个指针型变量,且它已经指向了一个变量b,则a中存放的是变量b的地址。*a取的是变量b的内容。&b就是取变量b的地址,a=&b;就是把b的地址存储到a中,也就是说指针a指向b。比较简单,此处不再赘述。
指针型在考研或者面试中用的最多的就是和结构体结合起来构造结点(如链表的结点、二叉树的结点等),此处不做赘述,后文会有具体讲解。
最后
以上就是小巧裙子为你收集整理的【考研408数据结构】数据类型(一)的全部内容,希望文章能够帮你解决【考研408数据结构】数据类型(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复