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

北京网站建设有限公司每天新闻早知道

北京网站建设有限公司,每天新闻早知道,网站直接跳转,重庆建工建设工程信息网基础之基础之最后一节-结构体 1.结构体的定义 结构体相对于自定义的一种新的变量类型。 四种定义方式&#xff0c;推荐第一种&#xff1b;第四种适合大量定义&#xff0c;也适合查找&#xff1b; #include <iostream> using namespace std; #include <string.h>…

基础之基础之最后一节-结构体

1.结构体的定义

结构体相对于自定义的一种新的变量类型。

四种定义方式,推荐第一种;第四种适合大量定义,也适合查找;

#include <iostream>
using namespace std;
#include <string.h>struct Student
{string name;int age;float score;
}s3;void prinf(Student s)
{cout << s.name << " | " << s.age << " | " << s.score << endl;
}int main()
{Student s1;s1.name = "niuniu";s1.age = 18;s1.score = 96;prinf(s1);Student s2 = { "zhangsan", 92, 30 };prinf(s2);s3.name = "lisi";s3.age = 13;s3.score = 31;prinf(s3);//shuzuStudent arr[3] = {{"zhangsan", 31,55},{"lisi", 41, 42},{"wangwu", 32,44}};for (int i = 0; i < 3; ++i){prinf(arr[i]);};return 0;}

2.结构体指针

和其他类型的指针一致;需要注意的是,如果s是结构体的指针,不仅可以使用(*s).name还可以使用s->name访问结构体的属性;

#include <iostream>
using namespace std;
#include <string.h>struct Student
{string name;int age;float score;
}s3;void prinf(Student* s)
{cout << s->name << " | " << s->age << " | " << s->score << endl;
}int main()
{Student s1;s1.name = "niuniu";s1.age = 18;s1.score = 96;prinf(&s1);Student s2 = { "zhangsan", 92, 30 };prinf(&s2);s3.name = "lisi";s3.age = 13;s3.score = 31;prinf(&s3);//shuzuStudent arr[3] = {{"zhangsan", 31,55},{"lisi", 41, 42},{"wangwu", 32,44}};for (int i = 0; i < 3; ++i){prinf(&arr[i]);};return 0;}

3.结构体嵌套结构体

类似于函数中包含函数;

#include <iostream>
using namespace std;
#include <string.h>struct teacher
{int id;string name;int age;student std;
};struct student
{string name;int age;int score;
};

结果报错,因为需要把student放在前面!!!

4.案例

给三国英雄排序;使用结构体,指针

#include <iostream>
#include <string.h>
using namespace std;struct hero
{string name;int age;string gender;
};void prf(hero arr[5])
{for (int i = 0; i < 5; i++){cout << arr[i].name << " | " << arr[i].age << " | " << arr[i].gender << endl;}
}void sort(hero arr[5], const int nums)
{for (int i = 0; i < nums; i++){int counts = nums;for (int j = 0; j < nums - i - 1; j++){if (arr[j].age > arr[j + 1].age){hero tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;counts--;}}}
}int main()
{hero arr[5] = {{"liubei",22,"nan"},{"guanyu", 22, "nan"},{"zhangfei", 20, "nan"},{"zhaoyun", 21, "nan"},{"diaochan", 19, "nv"}};sort(arr, 5);prf(arr);return 0;}

总结一下:

1.对于python来说,数组传入函数时,相当于传入c++指针,因为函数中改变数组中的值,外部的数组也会改变;所以不想改变的时候,需要使用deep.copy。

2.对于c++来说,不仅数组传入相对于指针,对于整型、实型及结构体,只要使用&a,把a的指针传入函数,在函数中修改后,外部的值也会改变。

3.对于c++的数组来说,就算不使用*p,arr本身也是地址。所以在函数中对于传入的arr来说,不需要使用指针,也能干指针的活;

http://www.mmbaike.com/news/68339.html

相关文章:

  • 怎么建设网站是什么武汉seo引擎优化
  • 石家庄手机网站制作多少钱网站制作推广电话
  • 东莞高端网站建设收费标准北京网站优化seo
  • 上海最专业的网站建设公司排名互联网营销
  • 网络公司企业网站模板关键字排名软件官网
  • easy wordpress timelines上海seo网站优化
  • php做网站csdn保定网站建设公司哪家好
  • 外国平面设计网站有哪些深圳外贸网络推广
  • 正规游戏代理平台合肥网站推广优化公司
  • 为你做的网站企业建站流程
  • 黄山旅游攻略景点必去新乡搜索引擎优化
  • 免费推广网站短视频企业网站建设推广
  • 担路做网站网站访问量
  • 网站首页做30个关键词优化师是干嘛的
  • 网站如何防止被攻击江苏网站开发
  • 广州网站开发设计大数据推广公司
  • 网站前台页面的设计与实现seo搜索引擎优化就业前景
  • 江苏省网站建设谷歌seo排名公司
  • 兼职游戏网站怎么做泉州关键词优化软件
  • 企业网站建设的服务类型有哪些搜索引擎网址有哪些
  • 专业的营销型网站怎么申请自己的域名
  • 网站开发代理江苏惠州seo报价
  • 河南郑州是几线城市百度免费seo
  • 招聘信息网站网络营销渠道有哪几种
  • 做效果图的网站有哪些软件有哪些属于网络营销的特点是
  • 河北网站建设网络营销的核心是用户吗
  • 静态网站 价格搜索引擎优化管理实验报告
  • wordpress 归档杭州专业seo
  • 做诈骗网站犯什么法晋中网站seo
  • 卫浴洁具网站模板软文广告经典案例200字