c语言使用指针交换变量时字符和整形区别是什么? 字符类型变量和整型变量
C语言中,字符型变量与整型变量有什么区别啊?
字符型变量char占1字节,整型变量int占4字节
储存数据的范围不同,char可以储存-128~127,int可以储存-2^32~2^31-1
储存的字符是字符的ascii码,ascii码是0~127
整型变量和字符型变量的区别
int是存放整数的变量,占2个字节。
char是存放字符的变量,一个变量只能存放一个字符,占1个字节。
若楼主还有什么需要,请尽管说,
整型和字符型的区别,麻烦举个例子
同样是16位二进制的整数,
short int x;
unsigned short int y;
有符号整型 要 消耗 1 位 用来做符号,剩下的15位 用来存数值。
与无符号整型 不需要符号位,16位 用来存数值。
所以他们表示的数值范围不同。
有符号整型,正数用原码表示,负数用补码表示,最小负数(绝对值最大)是 1000 0000 0000 0000 (16进制 0x8000), 最大正数 0111 1111 1111 1111 (16进制 0x7fff).
无符号数 用原码表示,最小 0, 最大 1111 1111 1111 1111 (16进制 0xffff).
用 C 语言打印出数值来:
printf("I: %d %d\n", (short) 0x8000, (short) 0x7fff);
printf("U: %u ", (unsigned short) 0xffff );
I: -32768 32767
U: 65535
c 整型 和 整形指针的区别
整型指针是一个地址,里面存放另一个整型变量所在的地址。
整型变量,是一个变量,对应的地址是&整型变量,该地址存放的是该整型变量的值。
拿楼房比:
整型变量a,分配在302室,302室里面放的是A的值,比如100元;
整型指针变量ap,分配在305室,如果ap指向a(用ap=&a赋值),则305室存放的是302这个地址。你通过ap拿到这个地址,然后到302室,取出100元。
本题:
a的地址是:0x7ffcb5ef7170
这个地址,放在ap中,所以ap的值为0x7ffcb5ef7170
int p = &a;
是将a的地址(编号,也是一个数,但是一般比整数大得多),转变成正数(高位丢失了)存放到p中,0x7ff就是地址编号的高位,丢失了。如果p用long,有的机器能够得到地址编号的全部,就没有这个差别了。