zoukankan      html  css  js  c++  java
  • char 、signed char、unsigned char

    看如下代码:

    char c = -1;

    signed char sc = -1;

    unsigned char uc = -1;

    printf("c=%d, sc=%d, uc=%d, cx=%x, scx=%x, ucx=%x , c, sc, uc, c, sc, uc);

    Windows平台下输出:

    c=-1,sc=-1,uc=255,cx=ffffffff,scx=ffffffff,ucx=ff

    char相当于signed char

    IMX6UL平台下输出:

    c=255,sc=-1,uc=255,cx=ff,scx=ffffffff,ucx=ff

    char相当于unsigned char

    注解:

    (1)编译器为字面值-1分配空间,存储的就是-1的补码ff,它不管程序用什么类型引用它,它被解析为什么数值完全取决于引用它的c/sc/uc的数据类型。

    (2)由于在IMX6UL下char相当于unsigned char,因此切忌拿char当作负数使用,例如函数返回类型定义为char类型,返回-1,因为该-1会被调用者解析为unsigned char 也即255

  • 相关阅读:
    python bif 如何自学
    python萌新应知应会
    Animation
    响应式布局
    浏览器兼容
    HTML基础
    SublimeText 3 Emmet Hot Keys
    Web大前端环境搭建
    Sublime Text 运行js
    bash脚本编程基础
  • 原文地址:https://www.cnblogs.com/any91/p/6651599.html
Copyright © 2011-2022 走看看