« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
戒除浮躁,读好书,交益友 |
Blog信息 |
blog名称:邢红瑞的blog 日志总数:523 评论数量:1142 留言数量:0 访问次数:9690921 建立时间:2004年12月20日 |

| |
[c++]一道c语言 地址对齐的问题 原创空间, 文章收藏, 软件技术, 电脑与网络
邢红瑞 发表于 2006/10/20 11:56:07 |
很久以前 面试被问题的问题VC6.0下 ,intel 32位机struct struct1{ int i; short j; char c;};回答 是8 如果是7位 如何 手工对齐 m是2的指数次幂
char *p;char *base=(char *)malloc(m+bytes);char *result =(char*)((base+m)&-m)((char **)result [-1]=base;简单的理解char *p;int temp = align_power-1;p=(char*)malloc(need_size + temp;p=(char*)malloc(((int)p+temp)&temp);//修改了p,所以释放p前记得要归位注:align_power是所需要的对齐幂,char*(也可以为int*)是指针类型。另外,释放p之前记得让其指向所申请的内存的首地址上。 |
|
|