数据是程序的另一个重要组成部分.对于程序的两个理解,一是在实现逻辑;二是在处理数据.综合起来,程序以处理数据的方式表达逻辑.
什么是数据?数据的概念是相当广泛的.他相当于客观世界中的"物体".用一个桔子来做类比,我们可以把桔皮,桔梗,桔的汁液,桔的籽,甚至桔汁中的分子都看成"物体".如果用计算机来模拟这个桔子,那么前面的"物体"都可以看成是"数据".当然,这里的数据更多是以面向对象的思想,以"对象"来描述更为贴切.
不管数据被怎样去定义,有一些数据类型是编程语言已定义好,程序员可以直接使用的.通常情况下有整型,浮点型,字符型等几种(指针属于非常重要的类型,另外叙述).他们的特点是直接映射硬件寄存器.
short int 简称short ,短整型占16位2个字节
int,整型占32位4个字节,如果是32位机,可能是16位2个字节
long,长整型,占64位8个字节
char,字符型,占8位1个字节
float,浮点型,占32位4个字节
double,双精度浮点型,占64位8个字节
为什么占位一样长,但是又不同的数据类型出现呢?
这是配合开发语言中的其他模块而存在的,比如打印到屏幕上,数据类型配合输出符号,才能在屏幕上打出正确的数值.
举例:int a=10;
数据类型 变量名 = 值;
如果在函数中定义了形参,那么传值和变量都是可以的.
当有了基本数据类型之后,也可以自定义数据类型,来表达想描述的事物.
常见的数据类型有结构体(C语言),共用体和枚举,类(C++)等
---共用体实际使用不多,枚举的用途很广,单独列出;面向对象数据类型也是放在后面
定义:结构体中含有基本数据类型或者其他结构体变量
举例:
struct Student{
int age;
int height;
struct clothes clothes;
}/*学生*/
struct Clothes{
char shirt[20];
char trousers[20];
}/*衣着*/
struct Clothes xiaomingclothes={"tiger","crocodile"};
struct Student xiaoming;/*生成名为xiaoming的学生变量*/
xiaoming.age=18; /*赋值年龄*/
xiaoming.height=178; /*赋值身高*/
xiaoming.clothes=xiaomingclothes; /*赋值衣着*/
在结构体clothes中用两个字符串表示衬衣和长裤;
结构体student中用了两个整型数据age和height分别表示年龄和身高,然后用结构体变量
表示衣着.
上述定义了两个结构体,分别描述了 "衣着"和"学生"这两种个体.
注意:结构体定义相当于声明了新数据类型,赋值操作过程和前面描述相同
可以看出,结构体操作还是比较复杂的,所以有了面向对象的数据类定义
简单数据集合就1个---数组,把相同类型的数据元素放一起,用索引即可访问数据元素.
为什么叫简单数据集合,因为还有复杂的嘛.
复杂的也没有多复杂,就是链表啦,将在指针部分给出
举例:int a[]={0,1,2,3,4} /*整数集合*/
struct Student xiaoming;
struct Student xiaohong;
struct Student std[]={xiaoming,xiaohong} /*结构体Student数组,未赋值默认0*/
注意:凡是有数据集合的地方,必然需要遍历数据集合内的数据元素,遍历数据必然用到指针