黑马程序员技术交流社区

标题: sizeof对char进行操作 [打印本页]

作者: 杨冬武    时间: 2016-2-1 23:30
标题: sizeof对char进行操作
当sizeof对char进行操作时
你会发现
当char为常量时占用4个字节
当char为变量时占用1个字节
作者: ios_Beginner    时间: 2016-2-2 12:29
这个问题有意思,你搞懂为什么没?求解释
作者: ios_Beginner    时间: 2016-2-2 12:32
我猜测   变量是我们声明的时候开辟的 1 字节大小的内存空间,而 常量 可能是系统事先以 4 字节大小的某种存储方式存在某个地方,我们调用时占用 4 个字节,纯属猜测。。。。
作者: 水丹青    时间: 2016-2-2 13:28
char类型就是一个字节
当你对char类型的字符使用sizeof(如‘a’)时,
会把它转化为整型,所以就是四个字节
作者: 一枚小刁民    时间: 2016-2-2 19:52
char是字符型,我们知道,字符型在电脑中会以ASCLL码存储,比如a是97,b是98....  所以你用sizeof('a')时候,a会转换为97,就是一个整型(int)类型,int占4个字节 ,所以结果为4,相同的,char类型只占1个字节,所以为1
作者: 杨冬武    时间: 2016-2-5 22:09
ios_Beginner 发表于 2016-2-2 12:32
我猜测   变量是我们声明的时候开辟的 1 字节大小的内存空间,而 常量 可能是系统事先以 4 字节大小的某种 ...

楼下解释的很好

char是字符型,我们知道,字符型在电脑中会以ASCLL码存储,比如a是97,b是98....  所以你用sizeof('a')时候,a会转换为97,就是一个整型(int)类型,int占4个字节 ,所以结果为4,相同的,char类型只占1个字节,所以为1

我就复制过来了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2