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

怎么查看网站开发语言的类型建筑公司网站源码 php

怎么查看网站开发语言的类型,建筑公司网站源码 php,海门做网站,网站制作联系目录 概要 一、结构体的声明 二、结构体变量的创建和初始化 三、结构体的特殊声明 四、结构体内存对齐 1、对齐原则 2、例一 对齐数 计算方法 3、例二 总结 概要 结构体是我们日常编程中经常要用到的一种自定义类型,使用起来也是十分的方便。接下来就由…

目录

概要

一、结构体的声明

二、结构体变量的创建和初始化

三、结构体的特殊声明

四、结构体内存对齐

1、对齐原则

2、例一

对齐数

计算方法

3、例二 

总结


概要

结构体是我们日常编程中经常要用到的一种自定义类型,使用起来也是十分的方便。接下来就由本哲♂学家带领你们深♂入了解结构体。

一、结构体的声明

struct tag
{member-list;
}variable-list;

二、结构体变量的创建和初始化

#include <stdio.h>
struct Stu
{char name[20];//名字int age;//年龄char sex[5];//性别char id[20];//学号
};
int main()
{//按照结构体成员的顺序初始化struct Stu s = { "张三", 20, "男", "20230818001" };printf("name: %s\n", s.name);printf("age : %d\n", s.age);printf("sex : %s\n", s.sex);printf("id : %s\n", s.id);//按照指定的顺序初始化struct Stu s2 = { .age = 18, .name = "lisi", .id = "20230818002", .sex = "⼥printf("name: %s\n", s2.name);printf("age : %d\n", s2.age);printf("sex : %s\n", s2.sex);printf("id : %s\n", s2.id);return 0;
}

三、结构体的特殊声明

//匿名结构体类型
struct
{int a;char b;float c;
}x;

以上结构体声明时候省略掉了结构体标签。

对于匿名的结构体类型,如果没有对结构体类型重命名的话,基本上只能使用一次。所以尽量不要用。

四、结构体内存对齐

1、对齐原则

1. 结构体的第⼀个成员对齐到和结构体变量起始位置偏移量为0的地址处
2. 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。
        对齐数 = 编译器默认的⼀个对齐数 与 该成员变量大小的较小值。
VS 中默认的值为 8
- Linux中 gcc 没有默认对齐数,对齐数就是成员自身的大小
3. 结构体总大小为最大对齐数(结构体中每个成员变量都有⼀个对齐数,所有对齐数中最大的)的
整数倍。
4. 如果嵌套了结构体的情况,嵌套的结构体成员对齐到自己的成员中最大对齐数的整数倍处,结构
体的整体大小就是所有最大对齐数(含嵌套结构体中成员的对齐数)的整数倍。
这么说有点晦涩难懂,接下来给大家几个例子了解。

2、例一

//练习1
struct S1
{char c1;int i;char c2;
};

首先我们了解一下什么是对齐数:

对齐数

指某一个元素的初始指针与结构体的初始指针的差值,举个例子,因为c1指针和结构体初始指针一样,所以c1的对齐数是0;

计算方法

对于结构体第一个变量我们是不用考虑c1的偏差值,直接存放,根据对齐规则,i要放在4的倍数的位置,即偏差值为4的位置,c2是char类型所以可以随便放(任何数都是1的倍数),所以这个在内存中是这么放的:

所以总大小为9但其成员最大对齐数是4,5不是4的倍数,所以最终内存大小为12字节。 

3、例二 

//练习2
struct S1
{char c1;int i;char c2;
};
struct S4
{char c1;struct S1 s1;int d;
};

由上面知道s1大小为12,其中它的成员最大对齐数为4,所以待会对齐到4的倍数那所以其在内存存放是这样的:

总大小为20,其中最大对齐数为4,而20是4的倍数,所以这个结构体大小为20字节。

总结

结构体的使用其实对我们来说并不难,难的是如何计算其大小,需要我们熟练掌握其对齐原则。

期待与你们一起van♂。

 

http://www.15wanjia.com/news/169333.html

相关文章:

  • 怎样只做自己的网站便宜 虚拟主机
  • 烟台网站建设烟台承德网站
  • 付公司网站费用怎么做分录郑州seo询搜点网络效果佳
  • 电子商务企业网站的基本功能天津市建行网站
  • iis 会影响 网站 速度国外有没有做物理小实验的网站
  • 网站为什么做黄词骗流量自己做网站帮公司出认证证书违法吗
  • 深圳建网站服务商安阳区号码
  • 南宁做网站价格公司建站后还要录入网页吗
  • 深圳做二维码网站建设德国网站建设
  • 图书馆网站建设教程网站制作费用及后期运营
  • 网站统计模板东莞南城网站开发公司电话
  • 在微信上做彩票网站网站迁移教程
  • 做网站的公司现在还 赚钱吗做网站找华企
  • 免费制作网站net域名学历提升专升本
  • 招网站开发人员手机网站你懂
  • 有网站怎么做企业邮箱网站什么时候恢复彩色
  • 凡科免费做网站平面设计培训机构排名
  • 浙江做网站的公司网站推广策划的思路包括哪些内容
  • 网页设计站有没有帮人做机械设计的网站
  • 网站推广任务 ip点击乐山网站seo
  • 做淘宝客网站性质手机制作海报的软件免费
  • 一个公司做2个产品网站怎么做的郑州网站建设中国建设建设银行
  • 自己设计一个网站首页网站便民服务平台怎么做
  • 帮别人做网站进了看守所wordpress数据库连接错误
  • 商丘睢阳区市政建设局网站哪个网站可以做彩经专家
  • 网站开发就业岗位大鹏附近网站建设
  • 做好网站建设上传网站安装教程视频
  • 长春哪家公司做网站好东莞网站建设网络公司排名
  • 网站制作哪些网站优化 检测响应速度
  • 中山响应式网站美食制作网站模板免费下载