C/C++数据类型


C语言中数据类型的长度以及作用值域

类型标识符

类型说明

长度
   (字节)

范围

备注

char

字符型

1

-128 ~ 127

-2 7 ~ (2 7 -1)

unsigned char

无符字符型

1

0 ~ 255

0 ~ (2 8 -1)

short int

短整型

2

-32768 ~ 32767

-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位有效位

  一个指针本身占用4个字节

c++ 基本数据类型长度(vc6.0  32位机;  字节为单位
size of int is:   4
size of char is:   1
size of short int is:   2
size of double is:   8
size of unsigned int is:   4
size of float is:   4
size of long double is:   8
size of long int is:   4
size of long int is:   4
size of unsigned char is:   1
size of signed char is:   1
size of unsigned long int is:   4
size of signed int is:   4
size of unsigned short int is:   2
size of signed short int is:   2
size of signed int is:   4
size of signed long int is:   4
sizeof  指针 is   4;
注意:
1、 字符型char:一个字节表示,通常表示单个字符或小整数,字符型常量用一对单引号‘ ’夹着一个字符表示。
(1)可打印字符常量表示:
‘a’    ‘2’ ‘,’    ‘ ’
字符常量在内存中的存储格式依赖于ASCП码表的。
(2)不可打印字符常量,通过斜杠“\”表示:
‘\n’   换行符     ‘\\’ 反斜杠 ‘\t’   水平制表符 ‘\0’ 空(NULL)字符
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    __stdcall
#define WINAPI      __stdcall
#define WINAPIV     __cdecl
#define APIENTRY    WINAPI
#define APIPRIVATE  __stdcall
#define PASCAL      __stdcall
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值