博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于结构体对齐
阅读量:5129 次
发布时间:2019-06-13

本文共 571 字,大约阅读时间需要 1 分钟。

为了硬件能够快速访问,数据在内存中要对齐(参考集装箱)。这里主要说一下结构体的对齐。

1、结构体内元素的大小,又下一个字节决定。

2、系统默认4个字节对齐方式。

#include 
struct s{ char b; int c;};int main(){ struct s s1; s1.b='t'; s1.c=12; printf("s1 size is %zu\n",sizeof(s1)); char *p1=(void *)&s1; printf("s1.b=%c\n",*p1); int *p2=(void *)&s1+1; printf("s1.c=%d\n",*p2); int *p3=(void *)&s1+4; printf("s1.c=%d\n",*p3); return 0;}

输出结果:

fly@noi:~$ make t4cc -g -std=c99    t4.c   -o t4fly@noi:~$ ./t4s1 size is 8s1.b=ts1.c=201326592s1.c=12

 

转载于:https://www.cnblogs.com/litifeng/p/8323740.html

你可能感兴趣的文章
第一篇博客
查看>>
typeof与instanceof的区别
查看>>
网站搭建(一)
查看>>
SDWebImage源码解读之SDWebImageDownloaderOperation
查看>>
elastaticsearch
查看>>
postgreSQL 简单命令操作
查看>>
Spring JDBCTemplate
查看>>
Radon变换——MATLAB
查看>>
第五章笔记
查看>>
Iroha and a Grid AtCoder - 1974(思维水题)
查看>>
gzip
查看>>
转负二进制(个人模版)
查看>>
LintCode-Backpack
查看>>
查询数据库锁
查看>>
[LeetCode] Palindrome Number
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
SQL更新某列包含XX的所有值
查看>>
网易味央第二座猪场落户江西 面积超过3300亩
查看>>
面试时被问到的问题
查看>>
spring 事务管理
查看>>