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

上饶营销网站建设磁力珠

上饶营销网站建设,磁力珠,义乌创博网络科技有限公司,电商网站建设实验原理现实生活中一个事物,会有许多属性连接起来。而C语言引入一种构造数据类型——结构体 将属于一个事物的多个数据组织起来以体现其内部联系。 一、结构体类型的定义 结构体类型 是一种 构造类型,它是由若干成员组成的,每个成员可以是一个基本…

现实生活中一个事物,会有许多属性连接起来。而C语言引入一种构造数据类型——结构体

将属于一个事物的多个数据组织起来以体现其内部联系。

一、结构体类型的定义

结构体类型 是一种 构造类型,它是由若干成员组成的,每个成员可以是一个基本数据类型或者是一个构造类型。

结构体类型的名字 是由一个关键字 struct 和 结构体名 组成的

结构体定义的一般形式:

struct 结构体类型名

{

        类型说明符1  成员名1;

        类型说明符2  成员名2;

        ...

};

struct Stu 
{int age;int ID;char name[10];
};

typedef 类型重命名

注意:

  1. struct 是结构体关键字,不能省略。结构体类型名可以省略,称为无名结构体。结构体成员可以是任何基本数据类型,也可以是数组和指针类型
  2. 定义结构体类型的语句要以结束,注意 {} 后的 ;
  3. 在编译时,系统不对定义的结构体类型分配内存空间
  4. 结构体类型与变量一样,作用范围也有全局和局部之分

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

struct Point
{int x;int y;
}p1;
struct Point p2;

 (1)先定义结构体类型,再定义结构体变量

struct Stu 
{int age;char name[10];
};
int main()
{//struct 结构体类型的名称 结构体变量名的列表;struct Stu stu1,stu2;return 0;
}

(2)定义结构体类型的 同时 定义结构体变量

struct 结构体类型名

{

        成员列表;

}结构体变量名的列表;

struct Point
{int x;int y;
}p1,pn;

(3)直接定义结构体变量

struct 
{int age;int num;char sex;
}s1,s2;

初始化可以指定成员初始化 

三、结构体成员的访问

1.结构体变量访问成员

结构体变量的成员是通过 点操作符( . ) 访问的。点操作符接收两个操作数

#include<stdio.h>
#include<string.h>
struct Stu
{int age;char name[10];
};
int main()
{struct Stu s;s.age = 18;strcpy(s.name,"zhangsan");printf("%s %d",s.name,s.age);return 0;
}

【结果】zhangsan  18

从调试上我们也可以看到

 

2.结构体指针访问指向变量的成员 

#include<stdio.h>
struct Stu
{	char name[10];int age;
};
void Print(struct Stu* ps) 
{printf("name = %s  age = %d\n",(*ps).name,(*ps).age);printf("name = %s  age = %d\n",ps->name,ps->age);}
int main()
{struct Stu s = {"zhangsan",18};Print(&s);return 0;
}

 如果只是打印成员,可以不传址

(建议传址,因为运行效率高)

四、结构体传参

#include<stdio.h>
struct S 
{int data[100];int num;
};
struct S s = { {1,2,3},100 };
//结构体传参
void print1(struct S s)
{printf("%d\n",s.num);
}
//结构体地址传参
void print2(struct S *ps) 
{printf("%d\n",ps->num);
}
int main() 
{print1(s);print2(&s);return 0;
}

【结果 】100  100

根据上方代码 print2函数要好一些

因为函数传参的时候,参数是需要压栈的

如果传递一个结构体对象的时候,结构体过大,参数压栈的系统系统开销比较大,所以会导致性能的下降

结构体传参的时候,要传结构体的地址 

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

相关文章:

  • 同城服务网站开发巢湖有没有专门做网站的公司
  • 睢宁网站建设网站开发建设成本
  • 制作网站需要什么语言网络舆情分析报告
  • 医生做兼职有什么网站吗上海市教育网官网
  • 小程序电商平台东莞网站优化关键词公司
  • WordPress主题vieu破解版做seo必须有自己网站吗
  • Pc端网站是什么意思网站建设月薪
  • 网站建设与开发试题深圳龙华区发达吗
  • 分类目录网站有哪些上海做公司网站
  • 发卡网站怎么做素材库大全高清素材免费下载
  • 丽水市住房与城乡建设局网站网络营销方式内容角度
  • wordpress编辑文本框搜索排名seo
  • 英文网站设计方案wordpress 主题猫
  • 机械加工厂家站长工具seo综合
  • 推广型网站建设电话河南郑州最新情况
  • seo研究中心论坛杭州百度百家号seo优化排名
  • 南同网站建设软件下载赣州网络招聘
  • 建站素材网浅谈阿里企业的电子网站建设
  • 模板网站修改教程视频郴州制作网站设计较好的公司
  • 响应式网站有哪些2017免费原创视频素材
  • 建设部网站投诉核查没有经验可以做新媒体运营吗
  • 一定seo自己网站吗如何成为一个优秀的网站设计师
  • 潍坊建设厅官方网站wordpress superchanger
  • 四川广安网站建设qq官方网站
  • 山东省城乡建设网站新建站点的步骤
  • 整合营销推广威海百度seo
  • 打码网站建设wordpress联系表单 数据库
  • 如何建设一个自己的网站南宁网站建设公司哪家专业
  • 如何分析竞争对手网站网站开发和网站建设
  • 企业只有建立了自己的网站华为云建站怎么样