weixin_43113933
2020-04-09 09:21
采纳率: 94.6%
浏览 232

关于C语言的指针类型转换问题?

#include

int main()
{
unsigned int a = 0;
unsigned char p = (char *)&a;//有错
p[0] = 123;
p[1] = 111;
p[2] = 168;
p[3] = 192;
printf("%u\n", a);
return 0;
}
结果报错:error: invalid conversion from 'char
' to 'unsigned char*' [-fpermissive]|
我在想这样为什么不可以转换呢,

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • seh_sjlj 2020-04-30 17:57
    已采纳

    当然不能直接转了,一般都是unsigned char*p=(unsigned char*)(void*)a

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 小学狗喵喵叫 2020-04-09 09:24
    unsigned int a = 0;
        unsigned char *p = (unsigned char*)& a;//有错
        p[0] = 123;
        p[1] = 111;
        p[2] = 168;
        p[3] = 192;
        printf("%u\n", a);
        return 0;
    
    评论
    解决 无用
    打赏 举报
  • kalizccm 2020-04-11 14:47

    直接char不行吗?

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题