C语言中数据类型的长度以及作用值域
类型标识符 | 类型说明 | 长度 | 范围 | 备注 |
char | 字符型 | 1 | -128 ~ 127 | -2 7 ~ (2 7 -1) |
unsigned char | 无符字符型 | 1 | 0 ~ 255 | 0 ~ (2 8 -1) |
short int | 短整型 | 2 | -32768 ~ 32767 | 2 -15 ~ (2 15 - 1) |
unsigned short int | 无符短整型 | 2 | 0 ~ 65535 | 0 ~ (2 16 - 1) |
int | 整型 | 4 | -2147483648 ~ 2147483647 | -2 31 ~ (2 31 - 1) |
unsigned int | 无符整型 | 4 | 0 ~ 4294967295 | 0 ~ (2 32 -1) |
float | 实型(单精度) | 4 | 1.18*10 -38 ~ 3.40*10 38 | 7位有效位 |
double | 实型(双精度) | 8 | 2.23*10 -308 ~ 1.79*10 308 | 15位有效位 |
long double | 实型(长双精度) | 10 | 3.37*10 -4932 ~ 1.18*104932 | 19位有效位 |
c++ 基本数据类型长度(vc6.0
size of int is:
size of char is:
size of short int is:
size of double is:
size of unsigned int is:
size of float is:
size of long double is:
size of long int is:
size of long int is:
size of unsigned char is:
size of signed char is:
size of unsigned long int is:
size of signed int is:
size of unsigned short int is:
size of signed short int is:
size of signed int is:
size of signed long int is:
sizeof
注意:
1、 字符型char:一个字节表示,通常表示单个字符或小整数,字符型常量用一对单引号‘ ’夹着一个字符表示。
(1)可打印字符常量表示:
‘a’
字符常量在内存中的存储格式依赖于ASCП码表的。
(2)不可打印字符常量,通过斜杠“\”表示:
‘\n’
2、 整型int:一个机器字长度的整数值。
短整型short:半个机器字长度的整数值。
长整型long:一个或两个机器字长度的整数值。
在32位机器中,int和long通常相同
unsigned 用于修饰 int 和 char 类型。它使int 或 char 类型成为无符号类型。
signed 是 unsigned 反义词,如 signed int 表示有符号类型,不过signed可以省略,所以上面列出char,short int,int 都是有符号类型。
布尔型(bool)和无类型(void)
除字符型,整型,实型以外,布尔型和无类型也是较常用的两种数据类型
一、其它数据类型转换为字符串短整型(int)
itoa(i,temp,10) ;///将i转换为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2); ///按二进制方式转换
长整型(long)
ltoa(l,temp,10);
二、从其它包含字符串的变量中获取指向该字符串的指针
CString变量
str = "2008北京奥运";
buf = (LPSTR)(LPCTSTR)str;
BSTR类型的_variant_t变量
v1 = (_bstr_t)"程序员";
buf = _com_util::ConvertBSTRToString((_bstr_t)v1);
三、字符串转换为其它数据类型
strcpy(temp,"123");
短整型(int)
i = atoi(temp);
长整型(long)
l = atol(temp);
浮点(double)
d = atof(temp);
四、其它数据类型转换到CString
使用CString的成员函数Format来转换,例如:
整数(int)
str.Format("%d",i);
浮点数(float)
str.Format("%f",i);
字符串指针(char *)等已经被CString构造函数支持的数据类型可以直接赋值
str = username;
关于char,tchar,wchar
tchar 在unicode下是wchar(双字符)而普通是char
char在两者都是char
一般导入一些文件名之类操作时,爱用tchar稳妥.
常用的windows宏定义
#define CALLBACK
#define WINAPI
#define WINAPIV
#define APIENTRY
#define APIPRIVATE
#define PASCAL