|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于char的深入研究
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2581
人关注过本帖
标题:
关于char的深入研究
只看楼主
加入收藏
zqy110007
来 自:外太空
等 级:
论坛游民
威 望:
6
帖 子:1493
专家分:82
注 册:2008-11-19
第
11
楼
收藏
得分:0
是不是因为在32位的计算机里一个汉字和一个英文字母都只算是一个字符,所以char 是两个字节了.
猜的啊..
但是一般的机子都应该可以节省空间..
还有哦,你的
00411480
mov
al,byte ptr [i]
00411483
push
eax
我看不懂,是汇编的代码吧?
每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-12-13 17:30
举报帖子
使用道具
赠送鲜花
rootkit
等 级:
新手上路
帖 子:197
专家分:5
注 册:2008-9-26
第
12
楼
收藏
得分:0
char只能是一个字节,这是语言定义的,除char外其他类型标准没有规定长度。
char a single byte, capable of holding one character in the local character set
int an integer, typically reflecting the natural size of integers on the host machine
float single-precision floating point
double double-precision floating point
至于汉字和英文的内存表示问题,这个与字符集和编码标准有关。英文字母常用ASCII编码,从0到127共128个字符,用7bit编码,最高位可作奇偶校验,用一个byte存储。汉字常用的是GBK系列编码和UTF-8编码,GBK是Unicode字符集中汉字和英文字母及一些符号部分的编码表示,用2个byte编码,UTF-8是Unicode字符集最完美的编码,使用变长编码方案,有的符号用一个字节,用的则长达4个字节。
mov
al,byte ptr [i]
这一条指令是将char型变量i的值读入到8位寄存器al中
push
eax
这条指令将eax这个32位的寄存器压栈
从这里可以看出来,long jc(char i)函数编译后的代码段保持i的char类型,但是执行程序时将相关值存入栈时就将8bit变量提升为32bit了,所以程序运行时并没有如你所想的那样节省空间。
收到的鲜花
广陵绝唱
于
2008-12-13 18:09
送鲜花
49朵 附言:好文章
降妖除魔路,仗剑载酒行
借问谁家子,大唐游侠儿
2008-12-13 17:59
举报帖子
使用道具
赠送鲜花
succubus
等 级:
蜘蛛侠
威 望:
4
帖 子:635
专家分:1080
注 册:2007-10-7
第
13
楼
收藏
得分:0
以下是引用
rootkit
在2008-12-13 17:02的发言:
看到这句话没有?
直到C99标准C语言才内置布尔类型_Bool
在研究rootkit技术??
有时间交流一下
[url=http:///view/aDU1]
/image/aDU1.gif" border="0" />[/url]
2008-12-13 18:02
举报帖子
使用道具
赠送鲜花
rootkit
等 级:
新手上路
帖 子:197
专家分:5
注 册:2008-9-26
第
14
楼
收藏
得分:0
以下是引用
succubus
在2008-12-13 18:02的发言:
在研究rootkit技术??
有时间交流一下
注册这个ID时正在看《Rootkits: Subverting the Windows Kernel 》,就用rootkit做ID了
对内核和安全有兴趣,所以看了一些rootkit的资料。
降妖除魔路,仗剑载酒行
借问谁家子,大唐游侠儿
2008-12-13 18:38
举报帖子
使用道具
赠送鲜花
新浪
来 自:水星
等 级:
论坛游侠
威 望:
1
帖 子:770
专家分:167
注 册:2008-6-10
第
15
楼
收藏
得分:0
#include <stdio.h>
#include <conio.h>
long jc(char i){
if(i==1)
return 1;
else
return jc(i-1)*i;
}
int main(void){
char i;
printf("请输入求几的阶乘:\n");
scanf("%d",&i);
printf("%ld",jc(i));
getch();
return 0;
}
// 短短的几行代码在可读性上实在是太恶心了
// 谁发明了这种代码风格呀
真难看
{
...
}
//两括号不能上下对齐吗?
// 小数阶乘 首选递归
简单明了
不失效率
天下皆醒,唯我独醉; 天下皆白,唯我独黑
2008-12-13 18:55
举报帖子
使用道具
赠送鲜花
rootkit
等 级:
新手上路
帖 子:197
专家分:5
注 册:2008-9-26
第
16
楼
收藏
得分:0
以下是引用
新浪
在2008-12-13 18:55的发言:
#include <stdio.h>
#include <conio.h>
long jc(char i){
if(i==1)
return 1;
else
return jc(i-1)*i;
}
int main(void){
char i;
printf("请输入求几的阶乘:\n");
scanf("%d",&i);
...
大爷我最鄙视跳梁的小丑了。
降妖除魔路,仗剑载酒行
借问谁家子,大唐游侠儿
2008-12-13 19:11
举报帖子
使用道具
赠送鲜花
zqy110007
来 自:外太空
等 级:
论坛游民
威 望:
6
帖 子:1493
专家分:82
注 册:2008-11-19
第
17
楼
收藏
得分:0
回复 第15楼 新浪 的帖子
我接触的语言不多,但是至少我接触的语言中一个叫做AS的语言,有一个功能,自动按系统格式将代码排列.
他就是这种规则啊.
每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-12-13 19:34
举报帖子
使用道具
赠送鲜花
rootkit
等 级:
新手上路
帖 子:197
专家分:5
注 册:2008-9-26
第
18
楼
收藏
得分:0
以下是引用
zqy110007
在2008-12-13 19:34的发言:
我接触的语言不多,但是至少我接触的语言中一个叫做AS的语言,有一个功能,自动按系统格式将代码排列.
他就是这种规则啊.
小朋友,你不用睬这种既没有技术有没有人品的东西。
降妖除魔路,仗剑载酒行
借问谁家子,大唐游侠儿
2008-12-13 19:40
举报帖子
使用道具
赠送鲜花
新浪
来 自:水星
等 级:
论坛游侠
威 望:
1
帖 子:770
专家分:167
注 册:2008-6-10
第
19
楼
收藏
得分:0
你这家伙说话总喜欢追求时尚
"跳梁"是何意
拾人牙慧 来着吧
最恶你这种货色了
明明想理睬偶
又说这么难听的话来掩饰
天下皆醒,唯我独醉; 天下皆白,唯我独黑
2008-12-13 19:52
举报帖子
使用道具
赠送鲜花
广陵绝唱
等 级:
贵宾
威 望:
29
帖 子:3607
专家分:1709
注 册:2008-2-15
第
20
楼
收藏
得分:0
两位请不要吵了,如果要吵,请到水区。不要影响这里的学习气氛好吗?你看这几天,这里的学习气氛多么滴浓厚哇……不管问题的难易,毕竟都是在学习。
谢谢两位,好吗?
2008-12-13 19:55
举报帖子
使用道具
赠送鲜花
25
2/3页
1
2
3
快速回复:
关于char的深入研究
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.039624 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved