GUID问题!

bean11222 2009-12-11 06:30:10
今天我模拟一个程序中的一个获得GUID的代码 模拟代码如下:


#include<iostream>

using namespace std;




int main()
{
short a[1] ={20};
int *result = (int *)&a[0];
cout<<"a array is:"<<a[0]<<endl;;
cout<<*result;

return 0;
}

最后*result是4259860 我看了下这个数字的低二进制位刚好是20 把20改成15低二进制位刚好也是15 我想问下高位上的那些非0位是怎么来的? 我编译器VS2005
...全文
188 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sfczz 2009-12-12
  • 打赏
  • 举报
回复
int在内存中占4字节
short在内存中占2字节
a在内存中的数据形式为
14 00 XX XX
result是int型指针,指向4字节空间,会包括后面的XX XX
XX XX是原来就在内存里的数据,可以认为是你程序中用不到的垃圾数据
bean11222 2009-12-12
  • 打赏
  • 举报
回复
顶起!!
bean11222 2009-12-11
  • 打赏
  • 举报
回复
顶起!!不要沉咯...
qqwx_1986 2009-12-11
  • 打赏
  • 举报
回复
高位的非零是未定义的 随机的 可能是历史遗留的
太乙 2009-12-11
  • 打赏
  • 举报
回复
系统原有的,你运不运行你的程序该块内存也不会被你的程序改变

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧