程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 用32位int型變量表示單引號括起來的四個字符的深入探討

用32位int型變量表示單引號括起來的四個字符的深入探討

編輯:C語言基礎知識
在C、C++中可以用32位int型變量表示單引號括起來的四個字符,例如下面代碼中的示例:
代碼如下:

 // 字符c的16進制值是0x63,字符o的16進制值是0x6f,
 // 字符n的16進制值是0x6e
 int what = 'conn';
 printf("The address of what is 0x%x \n", &what);
 printf("what 0x%x \n", what);
 if (what == 0x636f6e6e) {
  printf("what is 0x636f6e6e \n");
 }
 char *p = "conn";
 printf("p points to [%s] \n", p);
 while (*p != 0) {
     printf("%x", *p);
     p++;
 }

運行結果如下:
The address of what is 0x12ff60
what 0x636f6e6e
what is 0x636f6e6e
p points to [conn]
636f6e6e

也就是說字符'conn'的值用16進制表示就是0x636f6e6e,兩者是等價的。

在Android的framework層用到了這種方法來表示message的值。

其中'conn'的存儲方式是小端存儲。

即:小端:較高的有效字節存放在較高的的存儲器地址,較低的有效字節存放在較低的存儲器地址可以直接查看內存中'conn'的存儲方式是小端存儲,
地址從低到高依次是:0x12ff60,0x12ff61,0x12ff62,0x12ff63。
存儲的字符依次是:n, n, o, c
最後一個n存在最低位,c存在最高位。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved