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

wordpress 指定页面网站关键词怎么优化到首页

wordpress 指定页面,网站关键词怎么优化到首页,房地产公司网站模板,成都网站设计优选柚v米科技C语言中的结构体(struct)是一种用户自定义的数据类型,它允许你将不同类型的数据项组合成一个单一的类型。结构体数组则是一种特殊的数组,其元素为结构体类型。这意味着你可以在一个数组中存储多个具有相同结构的记录。 定义结构体…

C语言中的结构体(struct)是一种用户自定义的数据类型,它允许你将不同类型的数据项组合成一个单一的类型。结构体数组则是一种特殊的数组,其元素为结构体类型。这意味着你可以在一个数组中存储多个具有相同结构的记录。

定义结构体数组

首先,你需要定义一个结构体类型,然后才能声明该类型的数组。

定义结构体
typedef struct Student {char *num;int age;double score;char *addr;
}Student;
声明结构体数组
struct Student arr[3];

这里,arr是一个结构体数组,可以存储3个Student类型的记录。

初始化结构体数组

可以直接在声明时初始化结构体数组的元素。

	struct Student arr[3] = {{"001",22,99.9,"云南"},{"002",23,96.35,"上海"},{"003",21,89.956,"广州"}};

访问结构体数组元素

你可以通过数组索引来访问结构体数组中的元素,并通过点操作符.来访问结构体成员。

len = sizeof(arr)/sizeof(arr[0]);for(i=0;i<len;i++){printf("学号:%s 年龄:%d 成绩:%.3lf 地址: %s\n",arr[i].num,arr[i].age,arr[i].score,arr[i].addr);}

输出为:

学号:001 年龄:22 成绩:99.900 地址:云南
学号:002 年龄:23 成绩:96.350 地址:上海
学号:003 年龄:21 成绩:89.956 地址:广州

结构体数组的使用场景

结构体数组非常有用,特别是在需要处理具有多个属性的数据集合时。例如,你可以使用结构体数组来存储班级中所有学生的信息,然后遍历这个数组来执行各种操作,如计算平均分、查找成绩最高的学生等。

结构体练习:选票系统

#include<stdio.h>
#include<string.h>struct XuanMin{char name[32];int  tickets;
};int main()
{struct XuanMin candidate[3];struct XuanMin max = {"0",0};int len;int i;int j;char tempname[32];int abandon;int abandtick = 0;len = sizeof(candidate)/sizeof(candidate[0]);for(i=0;i<len;i++){candidate[i].tickets = 0;printf("请输入候选人的名字:\n",candidate[i]);scanf("%s",candidate[i].name);}for(j=0;j<5;j++){abandon = 0;printf("请输入所要投的候选人的名字:\n");scanf("%s",tempname);for(i=0;i<3;i++){if(strcmp(tempname,candidate[i].name) == 0){candidate[i].tickets++;abandon = 1;}}if(abandon == 0){printf("无所选候选人,弃票!\n");abandtick++;}}for(i=0;i<3;i++){printf("候选人:%s,票数:%d\n",candidate[i].name,candidate[i].tickets);}for(i=0;i<3;i++){if(max.tickets < candidate[i].tickets){max = candidate[i];}}printf("%s当选,票数:%d,弃票:%d",max.name,max.tickets,abandtick);return 0;
}

输出为:

请输入候选人的名字:
aa
请输入候选人的名字:
bb
请输入候选人的名字:
cc
请输入所要投的候选人的名字:
aa
请输入所要投的候选人的名字:
aa
请输入所要投的候选人的名字:
bb
请输入所要投的候选人的名字:
cc
请输入所要投的候选人的名字:
a
无所选候选人,弃票!
候选人:aa,票数:2
候选人:bb,票数:1
候选人:cc,票数:1
aa当选,票数:2,弃票:1

结构体指针

结构体指针是指向结构体变量的指针,它存储的是结构体变量的内存地址,而不是结构体变量的值本身。使用结构体指针可以方便地访问和操作结构体中的成员,特别是在处理大型数据结构或链表等数据结构时。

定义结构体和结构体指针

首先,你需要定义一个结构体类型,然后才能创建结构体变量和结构体指针。

//定义一个结构体
struct Test{         char cdata;int  idata;
};//定义结构体指针
struct Test t1 = {'A',0};
struct Test *pt = &t1;

使用结构体指针访问结构体成员

通过结构体指针访问结构体成员需要使用解引用操作符(->

pt->cdata = 'C';
pt->idata = 1;
printf("t1的cdata=%c,idata=%d\n",t1.cdata,t1.idata);
printf("t1的cdata=%c,idata=%d\n",pt->cdata,pt->idata);

输出为:

t1的cdata=C,idata=1
t1的cdata=C,idata=1

使用场景:结构体数组进行打印

struct Student arr[3] = {{"001",22,99.9,"云南"},{"002",23,96.35,"上海"},{"003",21,89.956,"广州"}
};
struct Student *p;
p = arr;len = sizeof(arr)/sizeof(arr[0]);
for(i=0;i<len;i++){printf("学号:%s 年龄:%d 成绩:%.3lf 地址:%s\n",p->num,p->age,p->score,p->addr);p++;
}

练习:使用结构体指针实现选票系统

使用结构体指针要注意:

1.解引用符要使用“->”

2.每次遍历完循环内要使用p++;

循环外要记得让p重新指向数组头

#include<stdio.h>
#include<string.h>struct XuanMin{char name[32];int  tickets;
};int main()
{struct XuanMin candidate[3];struct XuanMin max = {"0",0};int len;int i;int j;char tempname[32];int abandon;int abandtick = 0;struct XuanMin *p = candidate;len = sizeof(candidate)/sizeof(candidate[0]);for(i=0;i<len;i++){p->tickets = 0;printf("请输入候选人的名字:\n");scanf("%s",p->name);p++;}for(j=0;j<5;j++){p = candidate;abandon = 0;printf("请输入所要投的候选人的名字:\n");scanf("%s",tempname);for(i=0;i<3;i++){if(strcmp(tempname,p->name) == 0){p->tickets++;abandon = 1;}p++;}if(abandon == 0){printf("无所选候选人,弃票!\n");abandtick++;}}p = candidate;for(i=0;i<3;i++){printf("候选人:%s,票数:%d\n",p->name,p->tickets);p++;}p = candidate;for(i=0;i<3;i++){if(max.tickets < p->tickets){max = *p;p++;}}printf("%s当选,票数:%d,弃票:%d",max.name,max.tickets,abandtick);return 0;
}

输出为:

请输入候选人的名字:
aa
请输入候选人的名字:
bb
请输入候选人的名字:
cc
请输入所要投的候选人的名字:
aa
请输入所要投的候选人的名字:
aa
请输入所要投的候选人的名字:
bb
请输入所要投的候选人的名字:
cc
请输入所要投的候选人的名字:
a
无所选候选人,弃票!
候选人:aa,票数:2
候选人:bb,票数:1
候选人:cc,票数:1
aa当选,票数:2,弃票:1

结构体在函数中的应用:

一个返回值为结构体变量的函数,一般使用结构体指针进行定义:

struct XuanMin{char name[32];int  tickets;
};struct XuanMin* initcandidate(struct XuanMin *p)
{return p;
}

使用函数对选票系统进行封装如下:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>struct XuanMin{char name[32];int  tickets;
};struct XuanMin* initcandidate(struct XuanMin *p,int *total) //候选人初始化
{int i;if(p == NULL){printf("请输入候选总人数:\n");scanf("%d",total);p = (struct XuanMin*)malloc(*total*sizeof(struct XuanMin));}for(i=0;i<*total;i++){p->tickets = 0;printf("请输入第%d个候选人的名字:\n",i+1);scanf("%s",p->name);p++;}return p-*total;
}void printicket(struct XuanMin *p,int len)  //打印候选人信息
{int i;for(i=0;i<len;i++){printf("候选人:%s,票数:%d\n",p->name,p->tickets);p++;}
}int doVot(struct XuanMin *p,int len)  //选民进行投票
{int i;int j;int mark;int abandtick = 0;char tempname[32];struct XuanMin *pbak = p;for(j=0;j<5;j++){p = pbak;mark = 0;printf("请输入所要投的候选人的名字:\n");scanf("%s",tempname);for(i=0;i<3;i++){if(strcmp(tempname,p->name) == 0){p->tickets++;mark = 1;}p++;}if(mark == 0){printf("无所选候选人,弃票!\n");abandtick++;}}return abandtick;
}struct XuanMin* getMax(struct XuanMin *p,int len)  //找出票数最高的候选人
{struct XuanMin *max;int i;max = p;for(i=0;i<len;i++){if(max->tickets < p->tickets){max = p;}p++;}return max;
}int main()
{struct XuanMin *candidate = NULL;int *len;struct XuanMin *final;int abandon;candidate = initcandidate(candidate,len);printicket(candidate,*len);abandon = doVot(candidate,*len);printicket(candidate,*len);final = getMax(candidate,*len);printf("%s当选,票数:%d,弃票:%d",final->name,final->tickets,abandon);return 0;
}

注意:

使用结构体变量作为返回值的函数,一般使用的都是结构体指针,即返回的值是结构体指针。

结构体二级指针:

在上边的选票系统中使用initcandidate函数对候选人变量candidate进行初始化,包括候选人的姓名和票数,在initcandidate函数中我们将结构体指针变量candidate传递进去进行初始化,并返回给主函数中。

我们可以使用二级指针将结构体指针变量candidate的地址传递过去,进行操作,就可以将initcandidate初始化函数变为无返回值的函数。同理就像我们把表示候选人数量的变量len的地址传递过去,这样在初始化函数中获得候选人数量len的值以后,不需要使用返回值就能在主函数中获取len的值。

使用结构体二级指针代码如下:

void initcandidate(struct XuanMin **p,int *total)
{int i;if(*p == NULL){printf("请输入候选总人数:\n");scanf("%d",total);*p = (struct XuanMin*)malloc(*total * sizeof(struct XuanMin));}for(i=0;i<*total;i++){(*p)->tickets = 0;printf("请输入第%d个候选人的名字:\n",i+1);scanf("%s",(*p)->name);(*p)++;}*p = *p - *total;
}

注意:使用二级指针访问结构体变量时依旧使用“->”解引用操作符,而且要注意优先级使用“(*p)->tickets”、“(*p)++”这种格式来访问。

 

http://www.rdtb.cn/news/18139.html

相关文章:

  • 浙江商会网站建设策划方案最新app推广
  • 网站建设海报素材优化网站的步骤
  • 哪些网站做机票酒店有优势培训机构哪家最好
  • 物流公司做网站需求seo结算系统
  • 广告公司微网站建设自己建网站详细流程
  • 淄博哪有做网站的互联网销售怎么做
  • 在网站上使用特殊字体百度如何优化
  • 做网站还要买服务器吗每日新闻简报
  • 网站后期维护怎么做口碑营销的产品
  • web 开发 网站开发推广什么软件可以长期赚钱
  • 公司做网站建设价格汕头网站建设推广
  • 做网站平台公司有哪些1000个关键词
  • 网站建设 排名网络营销就是
  • 建设电子商务网站的目的和意义网站设计优化
  • 沂南县建设局网站怎么制作自己公司网站
  • 浙江网站设计公司电话搜狗搜索网
  • 做淘宝客如何建自己的网站武汉seo诊断
  • 广西桂川建设集团网站长沙互联网网站建设
  • 网站建设 网站开发 区别网络营销章节测试答案
  • 沈阳在线制作网站网站seo快速排名优化的软件
  • 开锁换锁公司网站模板百度热门
  • 邦派巴洛特网站是谁做的呀市场调研报告范文模板
  • 郑州高端网站建设多少钱产品推广方案要包含哪些内容
  • 网站宣传的方式哪里做网站便宜
  • 展示型企业网站制作费用什么是新媒体运营
  • 公司logo设计费用一般多少钱百度系优化
  • 郑州 做网站个人免费网上注册公司
  • 凡科网做网站贵吗怎么上百度推广产品
  • 做恋足的视频网站江门seo
  • 做网站策划计划书2023年国家免费技能培训