鱼C论坛

 找回密码
 立即注册
查看: 3294|回复: 8

对char依旧有点懵懵懂懂

[复制链接]
发表于 2012-7-23 11:23:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
每次看见char a='b'  就不知道该干嘛?想深入了解一下char,百度上面的解释太深奥,完全是复制的,请详细解释一下,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-23 11:36:24 | 显示全部楼层
本帖最后由 仰望天上的光 于 2012-7-23 11:41 编辑

想不通,就直接把char当成 int就是了,值不过char只占1个字节而已。

所以我们显然可以写出
char a = 12;这样的代码

至于char a='v';
这里为什么是'v'呢?因为'v'是整数的另一种表示方式,至于它表示哪一个整数?你可以查ascii码表。
当然当你printf出一个整数的时候到底是打印整数还是它的ascii码对应的字符,这个和int或char类型一点关系都没有。只和%d或%c有关。

你能用%c打印char类型,也能用%d打印char类型
你能用%c打印int类型,也能用%d打印int类型
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-7-23 11:51:13 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-23 12:05:58 | 显示全部楼层
char类型确确实实的的确确就是一个整形,只不过是一个比较短的整形。
char ch = 'b';的意思就是把 b 这个字符所对应的编码的值赋给ch这个整形,它在计算机中存储的形式就是代表b字符的数值。在ASCII码表下b的值就是十进制的98,在其他码制下也就是相对应的值(通常都是ASCII码)
所以你可以理解char ch = 'b'; 就是 char ch = 98;
'b'  和 98 等价 你也可以把 'b' 赋给整形 int a = 'b';等价于 int a = 'b';
用'b','\n'这样的形式能更清楚的表示出这个字符表达的意思。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-7-23 13:35:12 | 显示全部楼层
琦域之巅Plus 发表于 2012-7-23 12:05
char类型确确实实的的确确就是一个整形,只不过是一个比较短的整形。
char ch = 'b';的意思就是把 b 这个字 ...

嗯,知道了,就和int一样,那一半什么时候用最好呢?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-23 14:11:37 | 显示全部楼层
整型的子集,但其整数是ASCLL码表里某字符或者按键的代号……
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-7-23 14:17:17 | 显示全部楼层
自来也 发表于 2012-7-23 14:11
整型的子集,但其整数是ASCLL码表里某字符或者按键的代号……

哦,那请问这东西常用吗?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-23 14:42:05 | 显示全部楼层
常用,就算以后用到字符串指针和字符串数组,也用得上它,反正所谓的基本数据类型,本质上都只是占用内存的长度不一样而已,姑且用“长度”来描述。因为每种基本数据类型的具体某变量,在内存中都是一块一块的,在那个变量内部就是连续的,归根到底,不过是一串011011010100010的长度大小而已,我现在是这么理解的。甚至整个程序都是一串有组织的0和1组成的指令和数据……
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-7-23 14:50:14 | 显示全部楼层
自来也 发表于 2012-7-23 14:42
常用,就算以后用到字符串指针和字符串数组,也用得上它,反正所谓的基本数据类型,本质上都只是占用内存的 ...

嗯,我现在自己的理解就是调用ASCII码用的,呵呵
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-14 07:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表