看如下代码:

char c = -1;

signed char sc = -1;

unsigned char uc = -1;

printf("c=%d, sc=%d, uc=%d, cx=%x, scx=%x, ucx=%x\n, 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

char 、signed char、unsigned char的更多相关文章

  1. C 中 char、signed char 和 unsigned char 的区别

    C 中 char.signed char 和 unsigned char 的区别 来源:http://bbs.chinaunix.net/thread-889260-1-1.html 参考:https ...

  2. char、signed char、unsigned char的区别总结。

    转载地址:http://hi.baidu.com/thewillreigns/blog/item/67e665c4296e69c038db492d.html char 和 unsigned char是 ...

  3. char , unsigned char 和 signed char 区别

    ANSI C 提供了3种字符类型,分别是char.signed char.unsigned char.char相当于signed char或者unsigned char,但是这取决于编译器!这三种字符 ...

  4. char 与 unsigned char的本质区别

    在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同 ...

  5. char与unsigned char 差别

    char 与 unsigned char的本质差别 http://bbs.csdn.net/topics/270080484 同一个内存内容:10010000      你用char*   解释是-1 ...

  6. 用unsigned char 表示字节

    在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同 ...

  7. 【最小表示法】BZOJ2176-Strange string(unsigned char!!!)

    [题目大意] 给定一个字符串S = {S1, S2, S3 … Sn}, 如果在串SS中, 子串T(|T| = n)为所有长度为n的SS的字串中最小的(字符串的比较), 则称T为”奇怪的字串”. 你的 ...

  8. C++unsigned char和char区别

    char和unsigned charchar与unsigned char都是一个字节8bit,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char( ...

  9. unsigned char数组赋值

    memset(send_buf, 0, SEND_BUFF_LEN); const char * pStr = "this is test txt"; strcpy((char*) ...

  10. C++ unsigned long 转化为 unsigned char*

    C++ Code 123456789101112131415161718   unsigned long lFileLen = 1000; unsigned char *ucFileLenFlag; ...

随机推荐

  1. FreeSql 导航属性的联级保存功能

    写在前面 FreeSql 一个款 .net 平台下支持 .net framework 4.5+..net core 2.1+ 的开源 ORM.单元测试超过3100+,正在不断吸引新的开发者,生命不息开 ...

  2. 读《深入理解Elasticsearch》点滴-改善查询相关性

    1.标准查询 query match _all query:"搜索字符串" operator:or 2.多匹配查询+区分权重 query multi_match "que ...

  3. C语言I博客作业

    |这个作业属于哪个课程 | C语言程序设计I | | ---- | ---- | |对这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2 ...

  4. JQuery入门学习笔记(全)

    jQuery 语法 $(this).hide() - 隐藏当前元素 $("p").hide() - 隐藏所有 元素 $("p.test").hide() - 隐 ...

  5. [LeetCode] 824. Goat Latin

    Description A sentence S is given, composed of words separated by spaces. Each word consists of lowe ...

  6. 快学Scala 第二课 (apply, if表达式,循环,函数的带名参数,可变长参数,异常)

    apply方法是Scala中十分常见的方法,你可以把这种用法当做是()操作符的重载形式. 像以上这样伴生对象的apply方法是Scala中构建对象的常用手法,不再需要使用new. if 条件表达式的值 ...

  7. Spark 学习笔记之 Spark history Server 搭建

    在hdfs上建立文件夹/directory hadoop fs -mkdir /directory 进入conf目录  spark-env.sh 增加以下配置 export SPARK_HISTORY ...

  8. *.pvr.ccz文件还原成png格式

    处于学习的目的,解包学习某个游戏的资源.大部分的素材都是png文件.但是一部分关键的是用的pvr.ccz文件. 百度一下知道这个文件是TexturePacker打包出来的文件,于是就又百度到了解决办法 ...

  9. [Windows内核分析]KPCR结构体介绍 (CPU控制区 Processor Control Region)

    Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 逆向分析操作系统内核代码至少需要具备两项技能: 段页汇编代码非常懂 ...

  10. SQL SERVER数据库批量替换某个数据表里的数据update

    批量替换:将A表CMC里面所有包含a替换成b而不影响其他内容UPDATE A SET CMC=REPLACE(CMC,'a','b')