|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ char * 转换成 unsigned char *的意义何在?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
413
人关注过本帖
标题:
char * 转换成 unsigned char *的意义何在?
只看楼主
加入收藏
九宝
等 级:
论坛游民
帖 子:5
专家分:30
注 册:2013-5-18
结帖率:
0
楼主
收藏
问题点数:0 回复次数:2
char * 转换成 unsigned char *的意义何在?
常看到有成效有这样的语句:
const char *s1;
...
c = *(unsigned char *) s1;
...
unsigned char类型的指针和char类型的指针有啥不同。他们不都是指向1Byte的吗,运算不都相同吗,为啥还要这样转换。
2014-12-15 10:02
举报帖子
使用道具
赠送鲜花
wyw19880809
等 级:
蝙蝠侠
威 望:
3
帖 子:178
专家分:738
注 册:2013-3-14
第
2
楼
收藏
得分:0
这是根据需要进行的转换,char默认的是signed char
和unsigned char的能表达数值范围不同,如果你的运算与其数值大小无关的话 就不用强制转换了
2014-12-15 10:08
举报帖子
使用道具
赠送鲜花
九宝
等 级:
论坛游民
帖 子:5
专家分:30
注 册:2013-5-18
第
3
楼
收藏
得分:0
回复 2楼 wyw19880809
假如有如下程序
char x;
const char *s=&x;
unsigned char y;
y=*(unsigned char *)s;
您的意思是y和x的类型不同需要转换码。
可我觉得x和y 是 unsigned char 到 char的转换,而不是指针变换。
实现 X 到 y 的变换应该是:
y =(unsigned char)*s;
就先求出x的值(*S) 再对其变换,这才是x类型到y类型的变换。
而y=*(unsigned char *)s;是指针的变换。指针变了,指针指向的对象并没有变呀。
2014-12-15 10:38
举报帖子
使用道具
赠送鲜花
3
1/1页
1
快速回复:
char * 转换成 unsigned char *的意义何在?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.027541 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved