本帖最后由 DRAGON-Yeah 于 2013-11-28 13:49 编辑
第2章:数据类型
先介绍一些计算机指令简单的知识: 大家都知道我们的计算机有硬盘、有内存这两样东西,都属于存储器,但是硬盘属于在掉电后不丢失信息,一般我们把资料存放在硬盘;然而内存掉电会丢掉所有信息,为什么我们还要使用内存呢? 其实计算机的指令上电后都运行在内存上,原因很简单,内存运行速度比硬盘速度快几个数量级。 指令由操作码与操作数组成,操作码我们先简单理解为+、-、*、/这4种;操作数是参与运算的数据,但是不是所有的运算都是数值类型的,还有字符、指针等类型…. 这样就出现了各种各样的数据类型。 数据类型——模具与容器原理所谓数据类型,我们可以简单理解就是一个模型。打个比方,大家都喜欢喝饮料,饮料都由瓶子装起来的,可口可乐有灌装、瓶装,芬达也有…不同的饮料装在不同种类的瓶子;但是每一种瓶子都由各自的模具生产出来,生产出来后的瓶子都特定装一种饮料。 这里的模具就是数据类型,生产出来的瓶子就是变量,瓶子里面装的东西就是数值。 这样,我们想像得到在内存里面按照一个数据类型(模具)来产生出一个变量(瓶子),这个变量可以存放特定的数值(饮料)。
C语言的数据类型大致有以下几种:看下图
计算机存储转换单位:bit : 一位 byte:字节,简称b half word:半字 word:字 1byte = 8bit 1 word = 2 halfword = 4b = 32bit 1Kb = 1024b 1Mb=1024Kb 1Gb=1024Mb 1Tb=1024Gb 1Pb=1024Tb
数据类型无符号:unsigned不声明则为有符号 无符号型又可与上述三种类型匹配而构成:
(1)无符号基本型类型说明符为unsigned int或unsigned。
(2)无符号短整型类型说明符为unsigned short
(3)无符号长整型类型说明符为unsigned long
数据类型大小一览表:(32位系统) | | | int | 2b | -32768~32767 | short | 2b | -32768~32767 | long | 4b | -2147483648~2147483647 | float | 4b |
| double | 8b |
| char | 1b | -128~127 |
| |
|
数组:各种数据类型的集合例: int a[3]={2,4,5};//每个元素都是int型,a[0]=2,a[1]=4,a[2]=5.
指针:指向其他类型的地址(相当于给变量取个别名)指针变量一旦指向某个变量(必须数据类型相同),代表其他变量的地址。 例: int a=5; int *p;//指针变量,由*号标识 p=&a;//表示指针p指向了变量a的地址, 解释:指针P拥有自己的内存空间,指向a的地址,p相当于&a,都是地址;*p就相当于a,表示数值。
数组: inta[10]={1,2,3,4,5,6,7,8,9,10}; int*p=a;//如果是数组,p只要指向数组的名字就行
结构体:属于集合 例: /**************************************************************************** 1.所谓结构体,就是一种新的类型(如int,char,float,double...) 2.其实就是把一堆描述同一类东西的变量打包起来,在给这个包起一个名字 3.是高级语言(如C++,JAVA...)面向对象思想的过度,c语言是面向过程****************************************************************************/ //定义一个结构体,描述一个人的基本特征 typedef struct{ char name[20]; char gender[10]; unsignedint age; unsignedint heigh; char school[50]; }People;
//People是一种新的类型 People*p1=new People;//指针变量声明 Peoplep2;//普通变量声明
共同体:新类型集合 实例分析://与结构体相似
union data1
{
double d;
int i;
char c1;
char c2[9];
};
枚举类型:新类型集合 实例分析://与结构体相似 enum color { Red, Yellow, Blue, White, black }; void类型void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
void真正发挥的作用在于:
(1)对函数返回的限定;
(2)对函数参数的限定。
C语言常用数据类型就介绍到这里,对于前途无量的您可以去查看更详细的资料。
|