C语言各种变量的长度(笔试或面试)
2014-08-17 13:53
429 查看
转载文章一:
char/signed char/unsigned char: 1个字节;
char*(即指针变量):
2个字节(16位编译器)
4个字节(32位编译器)
8个字节(64位编译器)
short int: 2个字节
int/unsigned int:
2个字节(16位编译器)
4个字节(32/64位编译器)
long int: 4个字节
float: 4个字节
double: 8个字节
long double: 8/10/12/16?
long/unsigned long:
4个字节(16/32位编译器)
8个字节(64位编译器)
long long: 8个字节
string: 字符个数+1
转载文章二:
C语言的基本数据类型有以下几个:
int 整型
char 字符型
float 单精度浮点型
double 双精度浮点型
另外,在基本数据类型基础上附加一些限定词, 得到扩充的数据类型。short,long可以应用到整型, unsigned可以应用到整型和字符型:
short int(或short) 短整型
long int(或long) 长整型
unsigned int 无符号整型
unsigned short 无符号短整型
unsigned long 无符号长整型
unsigned char 无符号字符型
整型
C标准没有规定各类数据所占内存字节数,通常一个int型数据所占内存与计算机字长大小相同,为16位或32位,short型数据通常占16位,long型数据是32位。每种编译器可以为硬件选择适合的长度,仅受一些限制,如short 和int 型数据至少占16位,long型至少占32位, short型数据不能超过int型数据的字节数,而int型不长于long 型。
无符号的数总是正数或零,服从数学式子2n,其中n是这种类型的二进制位数。例如,int型是16位,它的数据取值范围在-32768-32767之间,而unsigned int型数据取值范围在0-65535之间。下表列出了不同机器上整型数据的取值范围。
字符型
字符型数据存储时占用8位,它实际存储的是字符对应ASCII码(美国标准信息交换码American Standard Code for Information Interchange)。如一个char型数据'A',其ASCII码为65,故实际存储的内容是65。unsigued char型数据取值范围为0-255,char型数据取值范围为-128-127。字符有符号或无符号是依赖于机器的,但是可打印的字符总是正的。
由于在内存中字符型数据是以ASCII码形式存放,其形式与整型类似,因而在C语言中,字符型数据与整型数据可以通用,字符型数据所有的性质与一字节整型量相同。
char/signed char/unsigned char: 1个字节;
char*(即指针变量):
2个字节(16位编译器)
4个字节(32位编译器)
8个字节(64位编译器)
short int: 2个字节
int/unsigned int:
2个字节(16位编译器)
4个字节(32/64位编译器)
long int: 4个字节
float: 4个字节
double: 8个字节
long double: 8/10/12/16?
long/unsigned long:
4个字节(16/32位编译器)
8个字节(64位编译器)
long long: 8个字节
string: 字符个数+1
转载文章二:
C语言的基本数据类型有以下几个:
int 整型
char 字符型
float 单精度浮点型
double 双精度浮点型
另外,在基本数据类型基础上附加一些限定词, 得到扩充的数据类型。short,long可以应用到整型, unsigned可以应用到整型和字符型:
short int(或short) 短整型
long int(或long) 长整型
unsigned int 无符号整型
unsigned short 无符号短整型
unsigned long 无符号长整型
unsigned char 无符号字符型
整型
C标准没有规定各类数据所占内存字节数,通常一个int型数据所占内存与计算机字长大小相同,为16位或32位,short型数据通常占16位,long型数据是32位。每种编译器可以为硬件选择适合的长度,仅受一些限制,如short 和int 型数据至少占16位,long型至少占32位, short型数据不能超过int型数据的字节数,而int型不长于long 型。
无符号的数总是正数或零,服从数学式子2n,其中n是这种类型的二进制位数。例如,int型是16位,它的数据取值范围在-32768-32767之间,而unsigned int型数据取值范围在0-65535之间。下表列出了不同机器上整型数据的取值范围。
| 16位机器 | 32位机器 | ||
数据类型 | 所占位数 | 取值范围 | 所占位数 | 取值范围 |
int | 16 | -32768~32767 | 32 | -21亿~21亿 |
short | 16 | -32768~32767 | 16 | -32768~32767 |
long | 32 | -21亿~21亿 | 32 | -21亿~21亿 |
unsigned int | 16 | 0~65535 | 32 | 0~42亿 |
unsigned short | 16 | 0~65535 | 16 | 0~65535 |
unsigned long | 32 | 0~42亿 | 32 | 0~42亿 |
字符型
字符型数据存储时占用8位,它实际存储的是字符对应ASCII码(美国标准信息交换码American Standard Code for Information Interchange)。如一个char型数据'A',其ASCII码为65,故实际存储的内容是65。unsigued char型数据取值范围为0-255,char型数据取值范围为-128-127。字符有符号或无符号是依赖于机器的,但是可打印的字符总是正的。
由于在内存中字符型数据是以ASCII码形式存放,其形式与整型类似,因而在C语言中,字符型数据与整型数据可以通用,字符型数据所有的性质与一字节整型量相同。
相关文章推荐
- C语言中各种数据类型长度的总结(转)
- C语言面试笔试题
- 搜集各种面试笔试题(保存网上精华)
- 收录各种猥琐的Java笔试/面试题目
- 收录各种猥琐的Java笔试/面试题目
- 如何轻松应对各种英语面试与笔试
- c语言中的各种变量是如何存储的(-)
- 【笔试面试知识点查缺补漏深入理解之C与C++篇】排序的C语言实现-插入-选择-快排
- 【笔试面试知识点查缺补漏深入理解之C与C++篇】C语言中的指针数组与数组指针
- 收录各种猥琐的Java笔试/面试题目
- C语言各种类型变量存储方式
- C语言中各种数据类型长度的总结
- 【原创】C语言中如何用长度变量定义数组
- c语言中的sizeof(面试、笔试常考)
- 【笔试面试知识点查缺补漏深入理解之C与C++篇】C语言组织结构
- C语言中各种数据类型长度的总结
- 【原创】C语言中如何用长度变量定义数组
- 【笔试面试知识点查缺补漏深入理解之C与C++篇】C语言中的引用
- 收录各种猥琐的Java笔试/面试题目
- 收录各种猥琐的Java笔试/面试题目