情况是这样的,我用的VC6.0开发,假设有下面的代码:
DWORD test[100];
或者是
DWORD *test;
test=(DWORD*)malloc(100);
请问这两个test的起始的地址是不是一定是4的倍数?为什么?谢谢!
两问,第一问10分。第二问30分!
DWORD test[100];
或者是
DWORD *test;
test=(DWORD*)malloc(100);
请问这两个test的起始的地址是不是一定是4的倍数?为什么?谢谢!
两问,第一问10分。第二问30分!
解决方案 »
- 句柄无法释放
- exe如何自己修改自己的内容?
- WININET使用HTTP的POST到asp页面,处理完后如何获得当前页的大小?
- 如何从声卡的输出端口读取声音数据。(取得电脑发出的声音数据)?
- 排列组合问题请教
- 能否在制作的安装程序里先启动一个应用程序?(installshield for vc6)
- 求推荐图像细化、骨架提取以及角点检测的参考资料
- wyzegg(蛋)再给你30分,讲讲DCOM系统的错误处理问题吧!
- 求教:如何用MFC在对话框上画有颜色的线;如何设置窗口上StaticText的颜色?
- 如何提高WM_LBUTTONUP的响应效率,即鼠标松开后马上执行OnLButtonUp的函数内容
- 运行没有错误或警告,却没有出现结果,怎么回事?
- 为什么使用ShellExecute打开的程序不能正常读取INI文件中的内容
所位数据对齐,是指数据所在的内存地址必须是该数据长度的整数倍,DWORD数据的内存起始地址能被4除尽,WORD数据的内存起始地址能被2除尽,x86 CPU能直接访问对齐的数据,当他试图访问一个未对齐的数据时,会在内部进行一系列的调整,这些调整对于程序来说是透明的,但是会降低运行速度,所以编译器在编译程序时会尽量保证数据对齐。