C程序中数据的类型
C语言是一个强类型的语言,数据必须明确的指定类型,C++还加强了类型安全的检查
程序与数据:程序的任务?处理数据(信息)。图片、视频、文本、日志,数据库等。
大数据、阿里巴巴云计算,map-reduce
看似复杂的数据、有基本数据类型的组成
一个人的年龄、身高、体重、名字、健康状况、性别等数据,对应了C语言中的不同类型
字符类型:char/wchar_t
整型:short/int/long/long long/_int64
实数单精度:float
实数双精度:double
有符号和无符号:signed/unsigned,(signed)int /unsigned int
布尔类型:bool、0/1(true/false)C99 <stdbool.h>
Typedef int bool;
#define true 1
#define false 0
数据类型的实例
char gender = ‘M’;//ASCII字符
Wchar_t sex = L’F’;//UNICODE字符
char name[16] =“tom”;
Wchar_t nick[16] = L"jack";
int age =30;
Float weight =79.1f;
Double height =1.80;
bool bhealthy = true;
内建型别:
数据以字节为单位存储在内存中
不同类型的数据,存储占用的内存空间长度不同
字符型:char/wchar_t
sizeof(char)=1,即char类型占1个字节空间
sizeof(wchar_t)=2或者4,字符数与字节数的区别
char c = ‘a’;//‘a’是字符常量。常量用单引号包围,“‘——>’\”
Wchar_t wc =L’a’;
unsigned char/signed char.只写char,由编译器决定是有符号无符号
字符编码:字符在计算机中是通过字符编码(字符的ID)的形式存储的。‘a’——>97,‘A’——>65
ASCII码,美国标准信息交换代码
ASCII码是单字节编码系统,它使用指点的7位或8位二进制数组合来表示128或256种可能的字符,标准ASCII码也叫基础ASCII码,使用7位二进制来表示所有的大写和小写字母,数字0到9,标点符号,以及在美式英语中使用的特殊控制字符
char c =‘A’;//c=65
Char ch = ‘0’; ch=48
UNICODE
ASCII编码只能表示有限的字符数位,为了能够将世界上所有的字符都纳入编码范围内,UNICODE字符编码便产生了。在UNICODE字符编码中,经常采用的是用2个字节或4个字节来表示一个字节,UNICODE编码的具体实现包括UTF-8,UTF-16和UTF-32,其中UTF-8中的字符占用的字节可以从1到4个,而UTF-16占2个字节,UTF-32占4个字节。
整型
short int 简写为:short
int
long int,简写 为 long
long long
_int64
char 也可以看做是一种整型
short a1 = 100;
int a2 =0x64;
long a3=100L;
unsigned short a4 =100;
unsigned long a6 =100UL;
unsigned int a5 = 100;
long long a7 =100ll;//linux
_int64 a8 = 100i64;//windows
浮点类型
float//单精度,4个字节
double//双精度,8个字节
float x = 3.1415f;
double y =1.732
自定义新的类型
typedef int INT;
typedef unsigned int UNIT;
typedef unsigned short USHORT;
typedef char CHAR;
typedef unsigned long ULONG;
typedef unsigned int DWORD;
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned int size_t;
typedef unsigned int unit_32;
一旦平台发生了变化,也可以改动很小
简洁
统一编码风格