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

如何制作免费的公司网站上海企业网站建设报

如何制作免费的公司网站,上海企业网站建设报,西安建设工程信息网是谁开发的,前端学校网站开发视频目录 结构结构的声明结构成员的类型结构体变量的定义和初始化结构体成员的访问结构体传参 结构 结构是一些值的集合,这些值被称为成员变量。之前说过数组是相同类型元素的集合。结构的每个成员可以是不同类型的变量,当然也可以是相同类型的。 我们在生活…

目录

  • 结构
  • 结构的声明
  • 结构成员的类型
  • 结构体变量的定义和初始化
  • 结构体成员的访问
  • 结构体传参

结构

结构是一些值的集合,这些值被称为成员变量。之前说过数组是相同类型元素的集合。结构的每个成员可以是不同类型的变量,当然也可以是相同类型的。

我们在生活中会用姓名、性别、年龄、身份证号来描述人,用书名、作者、出版社、书号等等来描述书。像这些复杂的对象就需要用结构体来描述。

结构的声明

struct 名称
{成员列表(一个或者多个);
}变量列表;

比如我们用结构体来描述一个学生,假设需要用到姓名,性别和年龄。

#include<stdio.h>struct Stu
{//成员变量,描述结构体对象的相关属性char name[20];char sex[5];int age;
};int main()
{//int a;struct Stu a; //struct Stu是类型return 0;
}

在这里插入图片描述

struct Stu
{//成员变量,描述结构体对象的相关属性char name[20];char sex[5];int age;
}a,b,c; //这里的a,b,c是结构体变量,属于全局变量
typedef struct Stu
{//成员变量,描述结构体对象的相关属性char name[20];char sex[5];int age;
}Stu; //这里的Stu相当于把struct Stu重命名为Stu int main()
{//struct Stu a;Stu a; //struct Stu是类型。现在由Stu替代。没有typedef,struct不能省略。return 0;
}

结构成员的类型

结构成员可以是标量、数组、指针或者其他结构体。

struct A 
{int a; char arr[10]; //数组int* p; //指针
};struct B
{int b;struct A b; //其他结构体
};

结构体变量的定义和初始化

//定义
//第一种方法
struct A
{int x;int y;
}a1; //定义a1//第二种方法
struct A a2; //定义结构体变量a2
//初始化1
struct A a3 = {3,5};//定义变量的同时初始化。
//初始化2
struct A
{int x;int y;
}a4 = {3,5};

结构体成员的访问

通过点操作符访问

//1
#include<stdio.h>struct A
{int x;int y;
}a4 = {3,5};int main()
{printf("%d %d\n", a4.x, a4.y);return 0;
}
//2
#include<stdio.h>struct Stu
{char name[10];char sex[5];int age;
};int main()
{struct Stu a = { "小刘","男",19};printf("%s %s %d\n", a.name, a.sex, a.age);return 0;
}

有时候我们得到的不是结构体变量,而是一个指向结构体的指针

#include<stdio.h>
struct Stu
{char name[10];char sex[5];int age;
};void Out(struct Stu* pa)
{printf("%s %s %d\n", (*pa).name, (*pa).sex, (*pa).age);printf("%s %s %d\n", pa->name, pa->sex, pa->age);//使用结构体指针访问指向对象的成员
}
int main()
{struct Stu a = { "小刘", "男", 19 };Out(&a);return 0;
}

结构体传参

#include<stdio.h>struct A
{int arr[100];int num;
}a = { {1,2,3} , 5};//结构体传参
void Out1(struct A a)
{printf("%d\n", a.num);
}//结构体地址传参
void Out2(struct A* pa)
{printf("%d\n", pa->num);
}int main()
{Out1(a); //方法1Out2(&a); //方法2return 0;
}

首选方法2
原因:函数传参的时候,参数是需要压栈的。如果传递的结构体对象的时候,结构体太大的话,参数压栈的系统开销会比较大,很浪费内存,会导致性能下降。
所以结构体传参的时候,要传结构体的地址

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

相关文章:

  • 做设计用的素材下载网站网站后台程序开发
  • 网站运营每天做啥工作重庆新闻头条最新消息
  • 简易的网站企业网站可以免费做吗
  • 专门做10s视频的网站苏宁易购网站建设的思路
  • 绵阳网站改版营销比较成功的品牌
  • 哈尔滨做网站多少钱广州正规网站建设有哪些
  • 做网站要学一些什么php网站301重定向
  • 天河商城型网站建设课件模板
  • 深圳网站维护优化昆山设计网站的公司哪家好
  • 网站建设优化培训班图标怎么在wordpress
  • 网站首页建设中页面hao123主页怎么删除
  • wordpress和网站区别职业生涯规划大赛提问
  • 漯河专业做网站公司网站服务器时间查询工具
  • 大型门户网站建设包括哪些方面企业做网站流程
  • 备案后网站打不开融资是什么意思
  • 青岛建设集团招聘信息网站cms网站怎么制作
  • 株洲网站建设开发申请个人企业邮箱
  • 住房和成乡建设部网站c2c模式是指什么
  • 北京网站建设搜q.479185700网站可以做固定资产吗
  • 网站的几种提交方式江苏盐城网站建设
  • 网站模板制作网站虚拟主机有什么用
  • 网站改变配色方案如何建设网站效果好
  • 建站设计网站高端网站建设上海
  • 网站上那些兼职网页怎么做创建app平台需要多少钱
  • 网站不备案会怎样濮阳网站怎么做seo
  • 汝阳网站建设舟山手机网站建设
  • wordpress延迟加载插件seo网站诊断书
  • 沈阳微信网站开发汕头模板开发建站
  • 常州新北建设局网站网站建设中问题分析与解决
  • 免费学校网站模板html婚庆公司网站搭建