| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2096 人关注过本帖
标题:用malloc()函数动态分配内存的方式重新写一个函数,实现内存地址的32位字节对 ...
取消只看楼主 加入收藏
weishen2011
Rank: 2
等 级:论坛游民
帖 子:92
专家分:70
注 册:2012-10-16
结帖率:80%
收藏
已结贴  问题点数:30 回复次数:0 
用malloc()函数动态分配内存的方式重新写一个函数,实现内存地址的32位字节对齐??
这是一次面试时候一位面试官问到的问题,当时纠结了很久都没得到一个靠谱的答案!!哪位大神帮帮忙看一下怎么做,说一下大概思路!最好写程序实现!!谢谢啊!!!

我当初的思路是假设一个结构体
struct s
{
int a;
char b;
float c;
};
假定malloc()函数在给该结构体分配内存的时候首地址为0x0014,然后一次看每个成员变量起始地址相对首地址(0x0014)的偏移量,如果“偏移量%32!=0”就在在前一个成员变量的地址后面适当地添加填充字节,使得该成员变量的起始地址能被32整除!
不知道这个思路有没有问题,求高手指教啊!!!
搜索更多相关主题的帖子: 动态 结构体 面试官 内存 
2012-10-29 13:58
快速回复:用malloc()函数动态分配内存的方式重新写一个函数,实现内存地址的32位 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015496 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved