当前位置: 首页 > news >正文

行业网站建设报价sql可以做网站吗

行业网站建设报价,sql可以做网站吗,html5做图书馆网站,网站优化软件排名器导言 结构体是C语言中的一种自定义类型,它的值(成员变量)可以是多个,且这些值可以为不同类型,这也是和数组的主要区别,下面将介绍它的一些基本用法,包括:结构体的创建、结构体变量的…

导言

结构体是C语言中的一种自定义类型,它的值(成员变量)可以是多个,且这些值可以为不同类型,这也是和数组的主要区别,下面将介绍它的一些基本用法,包括:结构体的创建、结构体变量的声明、初始化、结构体的访问、结构体的内存对齐等。


目录

导言

结构体的创建

结构体变量的声明

结构体成员的初始化、访问

结构体的内存对齐


结构体的创建

struct stu {//比如描述一个学生char name[10];//名字int age;//年龄int score;// 得分
};

结构体变量的声明

常用的有以下3种:

1.在结构体创建时同时声明结构体变量:

struct stu {//比如描述一个学生char name[10];//名字int age;//年龄int score;// 得分
}stu1,stu2;//声明了stu1和stu2

2.先创建结构体,后声明(包括在函数内部声明):

//2.先创建结构体,后初始化:
struct stu {//比如描述一个学生char name[10];//名字int age;//年龄int score;// 得分
};
struct stu stu1, stu2;

3.使用typedef先重命名,再声明:

//3.使用typedef先重命名,再声明: 
typedef struct stu {//比如描述一个学生char name[10];//名字int age;//年龄int score;// 得分
}stu;//当前面使用typedef时,分号前不再是变量声明,而是重命名后的类型stu stu1, stu2;//声明了stu1和stu2

关于typedef重命名结构体,也可先创建结构体,再重命名:

struct stu{char name[10];//名字int age;//年龄int score;// 得分
};typedef struct  stu stu;stu stu1, stu2;

结构体的特殊声明:匿名结构体:

结构体成员的初始化、访问

初始化:

按顺序初始化:

struct stu {//比如描述一个学生char name[10];//名字int age;//年龄int score;// 得分
};int main() {struct stu stu1 = { "mariiy",18,89 };//按顺序初始化return 0;
}

不按顺序初始化:

格式:.成员名=初始值

struct stu {//比如描述一个学生char name[10];//名字int age;//年龄int score;// 得分
};int main() {struct stu stu1 = { .age=19,.name="joke",.score=90};//不按顺序初始化return 0;
}

访问:

直接使用变量名(操作符“.”)

格式:变量名.成员名

使用指针(操作符“->”)

格式:结构体指针->成员名


结构体的内存对齐

结构体的内存对齐描述了结构体成员在内存中的存储位置,是决定结构体内存大小的重要因素。

因为结构体内存对齐的因素存在,两个存储着同等数量、类型的结构体,会因为成员在结构体内部顺序的不同,导致占用内存大小的不同。

如:

 这时结构体大小为16字节。

我们变换一下顺序(将score移到第二位)

  这时结构体大小为20字节。

两个结构体内的成员类型、个数完全一样,只是声明顺序不一样,导致结构体大小不一样。

对齐规则:

●结构体的第一个成员对齐到偏移量为0结构体变量的起始地址处。

●其他成员要对齐到对齐数的整数倍数处(偏移量的整数倍)

        对齐数:编译器默认的对齐数与成员类型大小的较小值(数组类型大小为成员类型大小

        —vs上默认对齐数是8

        —Linux没有默认对齐数,对齐数就是成员类型大小

●结构体的总大小为最大对齐数(所有成员的对齐数中最大的那个)的最小整数倍

●如果嵌套了结构体,结构体成员会对起到它的最大对齐数(不会再与编译器的默认对齐数比较)的整数倍数处

所以我们可以分析在上面的两个结构体中内存布局:

内存布局:

 

 

 内存布局:

http://www.yayakq.cn/news/67341/

相关文章:

  • 网站建设公司岗位徐州模板建站平台
  • 永久免费影视建站程序网站的管理更新维护
  • 北京网站建设联系电话云服务平台登录入口
  • 清空网站空间做网站的项目策划书
  • 哪个网站做简历好上海哪里可以做网站
  • 开源php建站系统写网站策划书需要注意什么
  • 一个网站一年的费用房天下搜房网官网
  • remix做歌网站sae wordpress 更新
  • 手机网站开发+图库类wordpress 发送邮件 名称
  • 单页简洁手机网站模板辽宁城乡建设部网站
  • tag做的最好的网站南通网站建设有限公司
  • 用国外服务器做网站网站188建站系统源码
  • 淄博网上商城制作威海网站seo
  • 大气网站设计注册小公司
  • 安徽建筑信息平台seo排名推广工具
  • 网站建设一般字体多大深圳vi设计公司推荐
  • 1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.培训机构连锁加盟
  • 广东地区建网站的公司天津小型企业网站设计
  • 张家港市住房和城乡建设局网站网站建设公司简介模板下载
  • 家具定制东莞网站建设wordpress 文章 新窗口
  • 旅游网站设计广告联盟没有网站怎么做
  • 无锡企业网站的建设重庆塔吊证查询网站
  • 定制专业网站阿里企业的网站建设
  • 阜阳网站设计开源众包官网兼职平台
  • app软件开发网站做网站前后端的发布流程
  • wordpress建站的好处珠海室内设计学校
  • 企业网站建设立项请示网站首页权重
  • 制作企业网站页面代码摄影 开课吧南通制作网站的有哪些公司吗
  • 永康市住房和城乡建设局网站杭州网站制作平台公司
  • 做软件常用的网站有哪些软件有哪些郑州公司注册网上核名