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

石家庄公司网站设计免费ip地址网站

石家庄公司网站设计,免费ip地址网站,织梦网站选空间,什么是网站易用性结构体的自引用: 自引用的目的: 结构体的自引用就是指在结构体内部,包含指向自身类型结构体的指针。 像链表就会用到结构体的自引用。假如我们要创建链表 链表的没个节点都是一个结构体,它里面存放着它的数据和下个节点的地址。 假如我们用…

结构体的自引用:

自引用的目的:

结构体的自引用就是指在结构体内部,包含指向自身类型结构体的指针。

像链表就会用到结构体的自引用。假如我们要创建链表

链表的没个节点都是一个结构体,它里面存放着它的数据和下个节点的地址。

假如我们用结构体创建了一个节点:

但是如果运行就会报错 :

 这是因为根本无法确定结构体的大小,结构体的大小要看其成员变量的大小和

int data;

data的大小为整形的大小:4字节

	struct node next;

struct Node next的大小其实就是struct Node的大小,我们根本算不出来,所以我们不能在结构体里面包含这个结构体本身类型,而应该用它的指针

struct Node
{int data;  //4字节struct node* next;   //指针就是地址,地址就是4字节
};

这样这个结构体的大小就是8字节了








 typedef的用法:

typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。
具体区别在于:
若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n;
若用typedef,可以这样写,typedef struct node{}NODE; 。在申请变量时就可以这样写,NODE n;
区别就在于使用时,是否可以省去struct这个关键字。

分三块来讲述:
1 首先:
在C中定义一个结构体类型要用typedef:
typedef struct Student
{
int a;
}Stu;
于是在声明变量的时候就可:Stu stu1;

如果没有typedef就必须用struct Student stu1;来声明
这里的Stu实际上就是struct Student的别名。








结构体的初始化:

首先创建一个结构体变量,然后对结构体到成员列表进行初始化

struct Node
{int data;  //4字节char name[20];
};
int main()
{struct Node s1 = { 1, 'sun'};return 0;
}

 这个s1是局部结构体变量

全局变量:s2和s3是全局结构体变量,s1是局部结构体变量,放在外面的全局结构体变量,里面的是局部结构体变量

结构体里面包含结构体的怎么初始化:

struct Node
{int data;  //4字节char name[20];
}s2;struct ss
{int age;struct Node sss;
};
struct Node s3;
int main()
{return 0;
}

方法: 第一个结构体初始化用{ },里面再包含个{ }用来初始化第二个结构体

struct Node
{int data;  //4字节char name[20];
}s2;struct ss
{int age;struct Node sss;
};
struct Node s3;
int main()
{struct ss que = { 10,{14,'wd'}};return 0;
}

 还可以用.成员。列表的方式来初始化:

struct Node
{int data;  //4字节char name[20];
}s2;struct ss
{int age;struct Node sss;
};
struct Node s3;
int main()
{struct ss que = { 10,{.data=2,.name='sad'}};return 0;
}







结构体成员对齐: 

如下:求下面两个结构体的大小

struct S2
{char c1;char c2;int i;
};struct S3
{double d;char c;int i;
};int main()
{
printf("%d\n", sizeof(struct S2));
printf("%d\n", sizeof(struct S3));return 0;
}

按照正常来说:第一个结构体大小应该为:6

 第二个结构体大小应该为13

但实际的运行结果为:

8
16

这就涉及到了结构体的对齐:

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

相关文章:

  • 网站知识网站做图书网站的代码
  • 网站改版什么意思网站页面设计考虑要素
  • 建立网站用什么软件wordpress搭建站点
  • 大型的建设工程类考试辅导网站手机网站建设专业服务公司
  • 宁波网站建设熊掌号房山企业网站建设公司
  • 中国制造网建站招聘网站建设价格
  • 企业建站公司电话如何设置网站默认首页
  • 网站建设选哪个腾讯员工月薪多少
  • 织梦网站必须下载免费微信小程序制作软件
  • 鲜花销售网站开发费用网站项目ppt怎么做
  • 上海网站建设收费河南郑州
  • 有些网站为什么可以做资讯网站开发入门书籍2018
  • 网站建设客户资料收集清单无锡建设工程服务中心
  • 网站开发运作哪个网站做线路攻略做得好
  • 宿迁网站建设制作株洲专业网站排名优化
  • 安徽有几家做网站微信营销软件app
  • 网站制作职责商丘网站设计
  • h5类型的网站是怎么做的沈阳seo网站管理
  • 一对一视频网站开发池州网站建设有哪些公司
  • 网站建设单位自己做app建网站
  • 淘宝建站服务三合一网站管理系统
  • seo网站推广工具wordpress内存
  • 优秀网站设计书籍上海cms建站
  • 网站主机是服务器吗建设网站的基本知识
  • 网站建设进项填那个服务微商网站制作
  • 哪里网站建设专业wordpress本地上传
  • 做网站还需要服务器吗wordpress发表的文章百度抓取失败
  • google官方网站注册外贸人常用的app
  • php网站建设原码如何自己做淘宝客网站
  • 手机网站创建站点成功万网做网站顺序