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

网站可以做视频链接英文网站制作

网站可以做视频链接,英文网站制作,软件服务外包人才培养专业,购买平台有哪些结构体和数组一样,都是一群数据的集合,不同的是数组当中的数据是相同的类型,但是结构体中的数据类型可以不相同,结构体里的成员叫做成员变量 结构体类型是C语言里面的一种自定义类型,我们前面已经了解到过int,char,fl…

结构体和数组一样,都是一群数据的集合,不同的是数组当中的数据是相同的类型,但是结构体中的数据类型可以不相同,结构体里的成员叫做成员变量

结构体类型是C语言里面的一种自定义类型,我们前面已经了解到过int,char,float,double等数据类型,结构体也是一种数据类型,而且是使用者自己定义的数据类型,用法如下:

1.结构体类型的声明

struct stu
{char name[20];int age;char sex;
};

2.结构体变量的创建和初始化

结构体变量.结构体成员------对应的参数进行打印

​
struct stu
{char name[20];int age;char sex;
};struct stu t={"小明",15,"男"};​
struct stu
{char name[20];int age;char sex;
}s1={"小明",15,"男"};
//这种是在声明结构体同时定义变量
//也可以额外定义struct stu s1={"小明",15,"男"};struct stu s1={.name="小明",.age=15,.sex="男"};//这种可以不按照顺序

3.结构体传参

#include<stdio.h>
struct  s
{int num;
};struct s t = 100;
void print1(struct s t)
{printf("%d\n", t.num);
}void print2(struct s *p)
{printf("%d\n", p->num);
}int main()
{print1(t);print2(&t);return 0;
}

这里给出了传值,传地址两种方式,当参数较大时候,传参时候压栈会使得系统在时间空间的开销过大,所以尽量使用传地址的形式;

4.结构的自引用

一个结构体里面不能够包含一个相同的结构体,但是我们可以使用结构体指针,线性数据结构包括顺序表和链表,顺序表就是按照一定的顺序依次排列的结构,链表就是像链子一样串连起来的结构,链表包括数据域和指针域,数据域用来储存相应的数据,指针域便于找到下一个数据;

struct Node
{int time;struct Node* next;
};
//这种引用的方法是正确的,如果不使用指针,我们无法计算结构体的大小,所以们我们用结构体指针
typedef struct
{int time;Node* next;
}Node;
//这个是对匿名结构体的重新命名,这种写法是错误的因为Node没有定义就是用了Node*

5.结构体的大小--内存对齐现象

(1)结构体的第一个成员对齐到结构体变量起始偏移量是0的地方

(2)对齐数是编译器的默认对齐数8和结构体成员变量的较小值

(3)结构体的总大小是最大对齐数的整数倍,最大对齐数是所有成员对齐数的最大值

(4)结构体嵌套结构体的时候,嵌套的结构体成员对齐到自己成员最大对齐数的整数倍,整个结

构体的大小就是所有结构体成员最大对齐数的整数倍(把内置的嵌套结构体也当作一个结构体成

员);

(5)根据结构体的对齐规则,我们应该尽量让小的结构体成员放在一起,大的结构体成员放在一

起,这样就可以节省时间和空间;

6.结构体实现位段功能

(1)位段中的位是指二进制位,一个二进制位是一个比特,举个例子:int a:2;正常情况下,一个整型a

要占4个字节,也就是32个比特位,但是我们只为他分配2个比特位来存放数据,2的二进制表示是

0020,2个比特位就存放后两位20,这样就节省了6个比特位,由此可见,位段就是为了节省内存

空间,但是位段不具有跨平台性;

(2)位段有时候几个成员共同使用1个字节,所以不能对他直接取地址,所以应该定义变量,对变

量输入一个值,然后将这个变量的值赋值给结构体的成员;

8.枚举

枚举就是把可能的值一一列举,比如一周有7天

枚举类型的使用,当然,我们在使用的时候可以给枚举常量赋值;

9.联合体(共用体)

联合体的成员共同使用一块内存空间,一起使用的时候会影响彼此的数值,所以联合体的使用条件就是联合体的成员不会同时使用,互不影响;

这个案例是使用匿名联合体判断机器是大端还是小端;

10.联合体的大小

联合体的大小至少是最大成员的大小;

但是通过上面这个案例,我们可以知道联合体也有对齐现象,char是5个1,int是4;但是满足最大对齐数4的整数倍,所以是8;

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

相关文章:

  • 好看的网站链接青岛外贸假发网站建设
  • 海北公司网站建设多少钱如何创作网站
  • 求网站2021给个网址百度知识营销
  • 廊坊做网站外包什么是网络营销推广
  • 广告联盟app手机版石家庄seo全网营销
  • seo信息编辑招聘深圳seo优化服务商
  • 怎么做网站广告外网代理ip
  • 大门户网站淘宝官网登录入口
  • 佛山外贸网站推广手机网站有什么区别是什么
  • 制作网页倒计时按钮百度seo查询
  • 没有网站可以域名备案池州网站建设有哪些公司
  • 网站空间地址做游戏评论注册国外网站
  • 网站建设这块是怎么挣钱的微信上优惠券的网站怎么做的
  • 南宁 建网站大型网站快速排名
  • 临沂龙文网站建设自媒体平台是什么意思
  • 盘州网站建设soho做网站
  • 网站建设招标公示网站建设工作要求
  • jsp获取网站域名个人网站怎么做代码
  • 外贸做那种网站北京门户网站制作公司
  • 厦门响应式网站制作wordpress 站群
  • 网站开发中界面昆山张浦做网站
  • 山东网站排名优化公司网站建设哪
  • python代码网站wordpress 4.3.9 漏洞
  • wordpress手机版菜单苏州seo关键词优化软件
  • 北京网站设计公司有哪些南京小程序开发哪家好
  • 织梦网站建设培训wordpress注册邮件无法打开
  • 商城网站的开发怎么做网站分类有哪些
  • 初中校园网站建设制度四平建设局网站
  • 海外微网站建设北京通网站建设价格
  • 青海制作网站多少钱平顶山股票配资网站建设