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

代理登录网站英文注册查询网站

代理登录网站,英文注册查询网站,石家庄桥西网站制作公司,软件工程师年薪多少🔥 个人主页:大耳朵土土垚 目录 结构体的介绍结构体定义结构成员的类型结构体变量的定义和初始化结构体成员的访问结构体传参 结构体的介绍 在C语言中,结构体是一种用户自定义的数据类型,它允许开发者将不同类型的变量组合在一起…

在这里插入图片描述

🔥 个人主页:大耳朵土土垚

在这里插入图片描述

目录

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

结构体的介绍

在C语言中,结构体是一种用户自定义的数据类型,它允许开发者将不同类型的变量组合在一起,形成一个新的数据类型。结构体可以包含多个成员变量,每个成员可以是不同的数据类型,例如整型、字符型、浮点型等。

结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。

结构体定义

结构体的定义使用关键字struct,后面跟随结构体的名称。

例如描述一个人:

struct Person {char name[20];int age;float height;
};

上述代码定义了一个名为Person的结构体,它包含三个成员变量:name、age和height。name是一个字符型数组,有20个元素;age是一个整型变量;height是一个浮点型变量。

结构成员的类型

结构成员的类型可以是以下几种:

  1. 基本数据类型:包括整型(int)、浮点型(float)、字符型(char)、布尔型(bool)等。
  2. 枚举类型:表示一组具有离散值的变量。
  3. 结构体类型:用来定义多个不同类型的变量,形成一个新的数据类型。结构体中可以包含基本数据类型、枚举类型、数组、指针等。
  4. 指针类型:表示变量的地址。
  5. 数组类型:表示一组相同类型的变量。
  6. 函数类型:表示函数的参数和返回值类型。

这些类型可以在结构体中作为成员类型,用于定义结构体的成员变量。

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

结构体变量定义有两种方式,一种在声明时候直接定义,一种在使用时再定义:

struct Point
{int x;int y;
}p1; //声明类型的同时定义变量p1//需要使用时
struct Point p2; //定义结构体变量p2

定义变量的同时初始化:

struct Point p3 = {1, 2};//定义结构体变量p3并赋值1和2

结构体嵌套初始化:

struct Node
{int data;struct Point p;struct Node* next; 
}n1 = {10, {4,5}, NULL}; //结构体嵌套初始化struct Node n2 = {20, {5, 6}, NULL};//结构体嵌套初始化

结构体成员的访问

  1. 通过点操作符(.)访问结构变量的成员:

点操作符接受两个操作数。

例如:

struct Stu        //类型声明
{char name[15];//名字int age;      //年龄
};struct Stu s = { "tutu",20};
printf("%s,%d", s.name, s.age);//使用.访问s中的成员
  1. 结构体指针访问指向变量的成员:
struct Stu        //类型声明
{char name[15];//名字int age;      //年龄
};struct Stu s = { "tutu",20};
struct Stu* ps = &s;
printf("%s,%d", ps->name, ps->age);//使用->访问ps指向的结构体成员

结构体传参

结构体传参可以通过以下两种方式:

  1. 传值传参

将结构体的副本传递给函数。

//结构体传值传参
void print1(struct Stu s)
{printf("%d\n", s.age);
}
struct Stu s = { "tutu",20};
print1(s);
  1. 传地址传参

将结构体的指针传递给函数,以便在函数内部修改结构体的内容。

//结构体地址传参
void print2(struct S* ps)
{printf("%d\n", ps->num);
}
struct Stu s = { "tutu",20};
print2(&s);

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

这是因为函数传参的时候,参数是需要压栈的。如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的下降。此外,传递结构体地址也便于我们修改结构体的内容。

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

相关文章:

  • 古镇网站建设公司网站设计文档模板
  • 网站结构模板贵州讯玛网站建设
  • 网站建设自助建站制作wordpress 审核插件
  • 杭州久邦电力建设有限公司网站公司网站建设和百度推广流程图
  • 服装设计网站有哪些手机网页打不开被拦截了怎么办
  • 数码电子产品网站建设策划书wordpress评论积分
  • 做网站开麻烦吗网站建设租房网模块
  • 网站设计 加英文费用做外贸主页网站用什么的空间好点
  • 厦门网站seo哪家好赣州培训学做网站
  • 做网站上海公司wordpress网站可以显示中文和英文
  • wordpress 微博同步上海谷歌seo推广公司
  • gta5网站建设中什么意思wordpress更新需要连接ftp
  • 外贸开发产品网站模板上优化
  • 食品公司网站建设wordpress 微信绑定域名
  • 东莞企业网站制作wordpress商城主题模板下载
  • 佳木斯网站设计十大网站建设公司排名
  • 长春电商网站建设公司排名郑州企业网站设计公司哪家好
  • 自行车网站模板wordpress修改端口
  • mysql asp网站冷库网站建设
  • 安吉网站建设优科技网站建设
  • 拍拍网站开发做游戏网站
  • 怎么做网站访问被拒绝上海天华室内设计有限公司
  • 导航网站备案马鞍山网站建设 明达
  • 百度seo软件seo关键词分类
  • 北京h5网站制作帝国cms仿站工具
  • 技术支持 广州网站建设国内好的网站建设
  • 整站优化seo公司哪家好wordpress menu代码
  • 淘宝内部优惠券放到网站上做2345网址导航是谷歌吗
  • 深圳 网站设计浦东新区苏州网站建设
  • 建立网站图片做公众号时图片的网站