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

北京市住房建设网站手机网站设计与实现毕业设计

北京市住房建设网站,手机网站设计与实现毕业设计,云南文山特产,优化大师官网登录入口结构体 简单的定义结构体的方法 struct student {char name;int age;float score; };//使用student模板创建两个结构体变量 struct student Jack,Rose; 结构体中可以存放除了函数以外的任何数据类型的数据,在创建结构体时student被称为结构体模板名称,…

结构体

        简单的定义结构体的方法

struct student
{char name;int age;float score;
};//使用student模板创建两个结构体变量
struct student Jack,Rose;

结构体中可以存放除了函数以外的任何数据类型的数据,在创建结构体时student被称为结构体模板名称,在c语言中设计者们想让我们使用结构体就跟使用普通变量无差别,因此结构体可以执行普通变量的所有操作,在此做一个示例

#include <stdio.h>
#include <string.h>struct student
{char name[25];int age;float score;
};void show (struct student *p);int main(int argc, char const *argv[])
{//定义一个结构体,后续赋值struct student Jack;strcpy(Jack.name , "Jack");Jack.age = 18;Jack.score = 80;//定义结构体并对其中所有目标进行初始化struct student Rose = {"Rose" , 17 ,90};//定义结构体并对指定目标进行初始化struct student Machel = { .name = "Machel",.age = 19};//定义Junior结构体将Machel结构体中的值赋予它struct student Junior;Junior = Machel;//定义一个长度为50类型为student结构体的数组struct student My_Class[50];My_Class[0] = Jack;My_Class[1] = Rose;My_Class[2] = Machel;My_Class[3] = Junior;//定义一个结构体指针p,指向Machel结构体struct student *p = &Machel;//对于结构体指针来说可以使用箭头指定成员p -> score = 93;show(&Machel); return 0;
}void show (struct student *p)
{printf("name: %s ,age: %d ,score: %f \n",p->name,p->age,p->score);
}

上面的例子几乎将结构体的所有操作进行了一遍,因为结构体一般来说比较大,因此我们一般在函数调用结构体时传入地址以提高效率

在单片机的内存中数据都是会根据大小对齐存放的,在32位系统中,cpu每次最少存取4个字节,以一个double型变量为例,其占8字节内存,在未对齐的情况下cpu可能需要三次存取才能将其完全取出,但是在对齐后只需要两次就可以取出,减少资源的浪费

        int型数据的地址必须至少是4的整数倍,简单来讲int型数据的m值为4,这个m值就是对变量地址的要求,再结合上面的例子我们可以总结出这样的规律:

        1.如果变量尺寸小于4字节,则其m值就等于变量的长度

        2.如果变量的尺寸大于等于4字节则一律按照4字节进行对齐

        3.如果变量的m值被手动调节过则按照调节后的为主

        强调一点:一个变量的m值规定了这个变量的地址的最小倍数,同时也规定了这个变量的大小至少是这个m值的倍数。m值不是这个变量的大小。结构体本身也是一个变量,结构体变量的m值取决于其成员中m值最大的那个。以下面的结构体为例

struct node 
{short a;char b;double c;
}x;

ma = 2,mb = 1,mc = 4,此时结构体的m值就为4,再根据m值就可以得知结构体具体占据多少内存

共同体(联合体)

        共同体的定义方式跟结构体很像,但其与结构体有根本区别,在共同体中不同的数据是共用起始地址的

union example
{int a;char b;double c;
}x;

        共用体的这种特性,使得他适合用来表达一些互斥的概念,比如一件衣服的颜色属性,要不就是红要不就是白,不可能既红又白。一个进程的状态,要不就是运行要不就是睡眠,不可能既运行又睡眠。像这样的情况,就可以考虑将他们放在一个共用体里面,既节省了空间,又使得互斥的特征更加明朗。

枚举

        在c语言中枚举类型的作用并不大,本身枚举的类型应该是指定范围的,但是c语言中枚举类型纯粹就是整形,可以赋予任何值因此作用不大

        不管如何,给出一个示例

#include <stdio.h>//定义了一个枚举常量列表enum spectrum {red, green, blue}; int main(void)
{enum spectrum color; // 定义一个枚举变量color green;switch(color) {case red://使用枚举常量断 color的值 printf("red\n");break; case green:printf("green\n"); break;case blue:printf("blue\n"); break;default:printf("unknown color\n"); }return 0; 
}

        在第4行代码中定义枚举常量是未进行初始化,因此其中数据为缺省的,会从0开始递增,所以其中几个成员的数值为0,1,2

        spectrum是这个枚举常量的列表的标签,我们可以使用这个标签来定义所谓枚举变量color,之后我们就可以使用color来获取spectrum列表中常量的值

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

相关文章:

  • 医院做网站备案都需要什么app制作网站
  • 顺的网站建设精英网站改版收费
  • linux下做网站个人博客网站模板下载
  • 英语网站建设策划书图片生成链接
  • 外贸做的社交网站怎么注销自己名下的公司
  • 制作小程序和网站的公司合肥企业网站建设公司哪家好
  • 宁乡网站开发公司推荐手机网站视频播放模板
  • 教人做甜点的网站二次元wordpress博客主题
  • 坪山网站建设行业现状青州住房建设局网站
  • 重庆靓号网站建设多语言网站是怎么做的
  • 动态效果酷炫的网站简述网络营销的特点及功能
  • 免费网络推广及优化aso安卓优化公司
  • 网站建设要用到哪些应用工具电子邮箱怎么注册
  • 3g 手机网站建设新野微网站开发
  • 国内个人网站欣赏wordpress是mvc吗
  • 登陆江西建设厅三类人员的网站wordpress按钮弹图片
  • c 网站做微信收款功能阿里云网站建设方案书模板
  • 厦门建设服务管理中心网站wordpress展示图片不显示
  • 用asp做的大型网站iis部署网站 错误400
  • 高端企业网站建设注意问题宁海县高质量营销型网站建设
  • 大型网站快速排名政务网站系统
  • 以鹦鹉做头像的网站长春是不是要封城了
  • 阿里巴巴国际站下载卖家版南和网站seo
  • 蒙古文网站建设汇报材料怎么删除wordpress
  • 便利的赣州网站建设wordpress後台小程序
  • 学校网站建站泰州做网站的
  • 网站的需求分析包括哪些怎么把网站黑了
  • 广州现在哪个区不能去外贸seo建站
  • 太原网站推广只选中联传媒做微信的微网站费用
  • 做美食网站的目的和意义做网站贵