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

江苏扬州建设工程信息网站沧州

江苏扬州建设工程信息网站,沧州,织梦5.5模版安装上去为什么打开网站图片不能显示教程,如何在自己网站做直播现实生活中一个事物,会有许多属性连接起来。而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/18915/

相关文章:

  • 山东省住房和城乡建设厅网站首页中企动力为何负面评价那么多
  • 房产机构网站建设网站seo排名优化工具在线
  • 制作网站生成器网站管理员容易做吗
  • 网站建设与运营答案怎么给网站做spm
  • 网站建设公司易下拉软件最佳磁力搜索天堂
  • 服装厂做1688网站效果好不好罗湖商城网站设计推荐
  • 设计师个人网站2015做导航网站
  • 网站模板怎么修改成可视化猪八戒网做网站如何付款
  • 电子商务网站的建设论文网站建设技术方案
  • 怎么制作免费网站手机网页游戏开发
  • pc建站哪家网站推广好
  • 这样自己做网站用wordpress做论坛
  • 有哪些关于校园内网站建设的法律太原网站快速排名提升
  • 建设银行车贷网站深圳有什么公司名称
  • 辽宁省网站备案注销qq网站空间赞
  • 环保网站模版网站开发有哪些认证
  • 网络建站怎么做合肥品牌网站建设
  • 新乡中企网站建设广州网络公司图片
  • 福田网站建设论文结论建筑招标网站
  • 搭建什么网站最赚钱温州网站的建设
  • 工作一般做网站视频的工作叫做什么软件开发包括哪些
  • 个人网站设计模板做阿里云网站的公司
  • 广州做外贸网站的公司seo需要掌握哪些技术
  • 设置网站人数网站内部优化怎么做
  • 网站运营存在的问题上海办公室设计装修公司
  • 软件下载网站如何履行安全管理义务企业网站的建设报价
  • 丹阳网站镇江手机网站制作
  • 深圳网站创建公司html知识点整理
  • 九江网站建设张旭wordpress投稿vip
  • 怎么做通知维护网站常州做网站那家快