2013年4月13日

摘要: 可用如sizeof(char),sizeof(char*)等得出32位编译器:char :1个字节char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)short int : 2个字节int: 4个字节unsigned int : 4个字节float: 4个字节double: 8个字节long: 4个字节long long: 8个字节unsigned long: 4个字节64位编译器:char :1个字节char*(即指针变量): 8个字节short int : 2个字节int: 4个字节unsigned int : 4个字节fl 阅读全文
posted @ 2013-04-13 22:50 江在路上 阅读(166) 评论(0) 推荐(0) 编辑
 
摘要: 转载自:http://blog.csdn.net/zhuimengzh/article/details/6728492#1、隐式转换C在以下四种情况下会进行隐式转换: 1、算术运算式中,低类型能够转换为高类型。2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。4、函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。2、算数运算的隐式转换 算数运算中,首先有如下类型转换规则: 1、字符必须先转换为整数(C语言规定字符类型数据和整型数据之间可以通用)。 2、short型转换为i 阅读全文
posted @ 2013-04-13 22:45 江在路上 阅读(368) 评论(0) 推荐(0) 编辑
 
摘要: #include <stdio.h>int main(){ short a=-1; unsigned int b=a; int c=a; printf("%x\n", b); printf("%d\n", c); a=1; b=a; c=a; printf("%x\n", b); printf("%d\n", c); return 0;}输出为:ffffffff-111说明,把short型数据赋值给int或者unsigned int型数据时,如果short型数据是负的,则扩展的比特位全是1,;如果sho 阅读全文
posted @ 2013-04-13 22:20 江在路上 阅读(1700) 评论(0) 推荐(0) 编辑
 
摘要: 整型的每一种都有无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认 情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的正整数数据,比如16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned能存储的数据范围则是0~65535。由于在计算机中,整数是以补码形式存放的。根据最高位的不同,如果是1,有符号数的话就是负数;如果是无符号数,则都解释为正数。同时在相同位数的情况下,所... 阅读全文
posted @ 2013-04-13 21:26 江在路上 阅读(259) 评论(0) 推荐(0) 编辑