c语言char和int区别有:1、表示的变量类型不同;2、申请的类型数据不同;3、字节、能表示的内容不同。其中,char 是字符变量,而 int 是整型变量;char 用来申请字符和字符串或者字符串指针。
一、c语言char和int区别
1、表示的变量类型不同
char 是字符变量,而 int 是整型变量。
2、申请的类型数据不同
char 用来申请字符和字符串或者字符串指针;int 用来申请整型数据,或者整形数据指针。
3、字节、能表示的内容不同
char只有一个字节,int有4个字节,能表示的内容大小不一样;char只有0~255,int范围[-2^31 , 2^31 -1] (处理器是64位的可以更大)
char和int定义后的数据,打印时printf(“”)括号内部填写的数据类型分别是”%c”和”%d”。
char型数据与int型数据虽有区别,但也能相互转换。具体方法如下:
char型数字转换为int型,转换方法:a[i] – ‘0’
int类型转化为char类型,转化方法:a[i] + ‘0’
延伸阅读:
二、int型和char型变量相互赋值
整型和字符型是互通的,他们是在内存中存储的本质是相同的,只是存储的范围不同而已,整型可以是2字节,4字节,8字节,而字符型只占1字节。例如:
#include<stdio.h>int main(void){ int i = 128; char ch = i; printf(“%d\n”,ch); return 0;}
char类型占1字节,就是8位,所能存储的正整数是 0111 1111,即127。如果将 int 型的整数i= 128 赋予ch,会产生溢出。因128是 int 型,占 4 字节,二进制代码为 0000 0000 0000 0000 0000 0000 1000 0000.。若将它赋给一个只有8位的char 类型变量,只能将低8位的1000 0000 放进去,其他的都会被删掉。整数在计算机中都是以补码的形式存储的,此时1000 0000 在计算机的眼里,是一个补码,最左边是 1 表示负数,补码1000 0000 所对应的十进制是 -128,所以最后输出的就是 -128。因此溢出会使得最大正整数变成最小负整数。
以上就是关于c语言char和int区别的内容希望对大家有帮助。