您的位置:首页 > 编程语言 > C语言/C++

C语言step-by-step(二)(数据类型)

2013-08-22 23:54 267 查看

第2章:数据类型

先介绍一些计算机指令简单的知识:

大家都知道我们的计算机有硬盘、有内存这两样东西,都属于存储器,但是硬盘属于在掉电后不丢失信息,一般我们把资料存放在硬盘;然而内存掉电会丢掉所有信息,为什么我们还要使用内存呢?
其实计算机的指令上电后都运行在内存上,原因很简单,内存运行速度比硬盘速度快几个数量级。
指令由操作码与操作数组成,操作码我们先简单理解为+、-、*、/这4种;操作数是参与运算的数据,但是不是所有的运算都是数值类型的,还有字符、指针等类型….
这样就出现了各种各样的数据类型。

数据类型——模具与容器原理

所谓数据类型,我们可以简单理解就是一个模型。打个比方,大家都喜欢喝饮料,饮料都由瓶子装起来的,可口可乐有灌装、瓶装,芬达也有…不同的饮料装在不同种类的瓶子;但是每一种瓶子都由各自的模具生产出来,生产出来后的瓶子都特定装一种饮料。这里的模具就是数据类型,生产出来的瓶子就是变量,瓶子里面装的东西就是数值。这样,我们想像得到在内存里面按照一个数据类型(模具)来产生出一个变量(瓶子),这个变量可以存放特定的数值(饮料)。

C语言的数据类型大致有以下几种:看图1



图1

计算机存储转换单位:

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语言常用数据类型就介绍到这里,对于前途无量的您可以去查看更详细的资料



本文出自 “我是车手-MyWay” 博客,请务必保留此出处http://dragonyeah.blog.51cto.com/7022634/1281190
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: