关于字符数组的存储以及强制转换
2016-12-30 15:12
218 查看
字符数组在小端系统存储:低地址向高地址顺次存储str[0] => str
。
举例:
char *a = "uni";
printf("%c %c %c\n", a[0], a[1], a[2]);
printf("%d %d %d\n", a[0], a[1], a[2]);
int *str = (int *)a;
printf("%d %d %d %d\n", ((*str)>>0) & 0xff, ((*str)>>8) & 0xff, ((*str)>>16) & 0xff, ((*str)>>24) & 0xff);
printf("str = %d\n", *str);
打印:
u n i
117 110 105
117 110 105 0
str = 6909557
6909557 = 117 + 110 <<8 + 105 <<16。
。
举例:
char *a = "uni";
printf("%c %c %c\n", a[0], a[1], a[2]);
printf("%d %d %d\n", a[0], a[1], a[2]);
int *str = (int *)a;
printf("%d %d %d %d\n", ((*str)>>0) & 0xff, ((*str)>>8) & 0xff, ((*str)>>16) & 0xff, ((*str)>>24) & 0xff);
printf("str = %d\n", *str);
打印:
u n i
117 110 105
117 110 105 0
str = 6909557
6909557 = 117 + 110 <<8 + 105 <<16。
相关文章推荐
- 关于int整数转换存储到字符数组
- 关于C中字符数组,字符指针以及C++中string类型的两两转换及排序
- java笔记:关于复杂数据存储的问题--基础篇:数组以及浅拷贝与深拷贝的问题(下)
- oracle提供的关于数值或字符与其用于实际存储到硬盘上的编码值间以及不同进制的数值间的转化方法的总结[收集中]
- java笔记:关于复杂数据存储的问题--基础篇:数组以及浅拷贝与深拷贝的问题(上)
- 关于字符的转换和存储
- 关于复杂数据存储的问题--基础篇:数组以及浅拷贝与深拷贝的问题
- 关于字符数组与string类的比较(长度以及)
- 字符串的存储方式,以及sizeof()(字符数组,字符指针,Sizeof总结)
- @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
- 关于动态存储分配函数的调用,在已经过排序的数组中查找及删除内容的操作,余数的分析,删除字符数组中的空格,对链表的逆置,在源字符串中查找子字符串的个数,函数指针以及函数的调用,循环赋值带来的问题以及插入
- 关于复杂数据存储的问题--基础篇:数组以及浅拷贝与深拷贝的问题(下)
- 九度oj+原始一个字符串左右交换字符最少步数变成含有2012字串+bfs及字符串和整型转换以及没有标记visit数组大小,只能用stl中的vecotr,实际上set更好。有count函数
- 关于对 (char *)字符指针强制转换类型的一些理解
- 关于本地存储构成数组以及jquery的inArray方法的使用
- 关于复杂数据存储的问题--基础篇:数组以及浅拷贝与深拷贝的问题(上)
- 关于MultiByteToWideChar与WideCharToMultiByte代码测试(宽字符与多字节字符的转换)以及字符串的转换代码测试
- 关于字符和数字类型的索引,Oracle如何实现内部自动转换以及索引使用的验证测试
- java笔记:关于复杂数据存储的问题--基础篇:数组以及浅拷贝与深拷贝的问题(上)
- 字符与ascii码的相互转换以及字符串和字符数组的相互转换