我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

C定义结构类型

#include <stdio.h>

struct person{
    int age;
    char name[10];
};

void main(){
    struct person zs,ls;
    printf("%d\n",sizeof(zs));
}

 

输出的结果为什么是16呢?不是应该是14吗?

这个就是所谓的字节对齐
你可以试试改 person

struct person{
int age;
char name;
};

结果是8

struct person{
char aaa;
int age;
char name;
};
结果是12

结构体的成员变量是顺序存储的
每个成员变量所占的大小都是字节对齐的 是字(4 byte)的整数倍

近期文章

  • 大哥们求教一个问题拜托了
  • 为什么我的有staff的全部报错
  • c语言的二维数组求解
  • ArcMap10.2的geostatistical analyst
  • selenium中find_element_by_xpath的问题?
  • lingo集合创建invalid setname求问
  • 任务管理器内存占比很高
  • MFC 求大佬看看这个改动对不对,如果不对求大佬帮忙给下详细点的改动代码,我是真的小白
  • centos7命令行光标错位了该怎么解决
  • RCF神经网络训练时,.lst文件内容怎么写
  • 一个hadoop问题
  • 请教josn控制舵机
  • %s后就不能再进行输入了吗
  • IDEA连接SQLserver报错
  • 通过python发送邮件编码出错
  • 编写程序,输出下列三角形:
  • 为什么最后定义测试类的StaffDemo总是显示错误
  • JavaFX中如何为VBox添加滚动条?
  • 定一两个整数,输出其中较大的一个数用c#语言怎么写程序
  • 怎么编写javascript查询和删除按钮或者事件的操作啊!!!

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华