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

建设网站需要什么知识长沙网站关键词推广

建设网站需要什么知识,长沙网站关键词推广,网站备案许可证号查询,做网站买主机还是服务器你是真的“C”——详解结构体知识点😎前言🙌什么是结构体?🙌1. 结构体的声明🙌1.1 结构的基础知识1.2 结构的声明1.3 结构成员的类型1.4 结构体变量的定义和初始化2. 结构体成员的访问🙌3结构体传参&#x…

你是真的“C”——详解结构体知识点😎

  • 前言🙌
  • 什么是结构体?🙌
  • 1. 结构体的声明🙌
    • 1.1 结构的基础知识
    • 1.2 结构的声明
    • 1.3 结构成员的类型
    • 1.4 结构体变量的定义和初始化
  • 2. 结构体成员的访问🙌
  • 3结构体传参🙌
  • 总结撒花💞

追梦之旅,你我同行

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享C语言中结构体相关的知识点~ 都是精华内容,可不要错过哟!!!😍😍😍

什么是结构体?🙌

1. 结构体的声明🙌

1.1 结构的基础知识

    在我们生活的世界,是十分丰富多彩的,C语言虽然提供了许多的类型,但是对于描述这个丰富多彩的世界,是不够用的。因此,需要自定义一些类型。而结构体就属于自定义数据类型的一种。比如描述老师,描述同学,抑或是描述学生,该用什么类型呢?为了解决这些问题,结构体就出现了。
简单的概括来说:结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。

1.2 结构的声明

那么结构体是如何声明的呢?接下来我举个栗子辅助大家理解一下:

typedef struct Stu
{char name[20];//名字int age;//年龄char sex[5];//性别char id[20];//学号
}Stu;//分号不能丢

1.3 结构成员的类型

结构的成员可以是标量、数组、指针,甚至是其他结构体。

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

有了结构体类型,那如何定义变量,其实很简单。请看下图分析:

在这里插入图片描述当然,除了上述的初始化,结构体还支持嵌套初始化,也就是一个结构体的变量作为另外一个结构体的成员,然后初始化时可以进行嵌套初始化。这是C语言语法支持的。在结构体中,很常会见到与typedef结合使用,这是为什么呢?其实,typedef 可以起到结构体类型重命名的作用,目的是为了简单化结构体类型名。接下来举个栗子辅助大家理解:

typedef struct Node
{int data;struct Node* next;
}Node;int main()
{struct Node b1;Node b2;return 0;
}

有上述代码可以看出,定义结构体b1变量明显比定义b2要复杂,类型名得到简化提高了代码的阅读性。

2. 结构体成员的访问🙌

结构体变量访问成员

  1. 结构变量的成员是通过点操作符(.)访问的。点操作符接受两个操作数。结构体变量.结构体成员
  2. 结构体指针访问指向变量的成员有时候我们得到的不是一个结构体变量,而是指向一个结构体的指针。结构体指针->结构体成员

这里举个栗子:

#include <stdio.h>
struct Book
{char name[20];int price;
};
void print(struct Book* p)
{printf("%s %d\n", p->name, p->price);
}int main()
{struct Book b1 = {"C语言", 66};struct Book b2 = { .price = 80, .name = "数据结构"};//初始化成员变量可以不按照声明的顺序//结构体变量.结构体成员printf("%s %d\n", b1.name, b1.price);printf("%s %d\n", b2.name, b2.price);//结构体指针->结构体成员struct Book* p1 = &b1;print(&b1);return 0;
}

程序运行结果图:
在这里插入图片描述

3结构体传参🙌

结构体传参是怎么传的呢?其实也有两种传法,第一种是传值调用,另外一种就是传址调用啦那这两种传参的方法哪种更优呢?接下来我举个栗子辅助大家理解这两种传参方法。

#include <stdio.h>
struct S
{int arr[100];int n;
};
void print1(struct S ss)
{int i = 0;for (i = 0; i < 10; i++){printf("%d ", ss.arr[i]);}printf("\n%d\n", ss.n);
}void print2(struct S* ps)
{int i = 0;for (i = 0; i < 10; i++){printf("%d ", ps->arr[i]);}printf("\n%d\n", ps->n);
}int main()
{struct S s = { {1,2,3,4,5}, 100 };print1(s);print2(&s);return 0;

画图分析:
在这里插入图片描述

因为函数传参的时候,参数是需要压栈的。如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的下降。因此,选择传址调用方法才是最优的选择。

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

总结撒花💞

   本篇文章旨在分享C语言详解结构体的相关知识点。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

http://www.ds6.com.cn/news/60294.html

相关文章:

  • 个人网站怎么备案可以做哪些搜索关键词查询
  • 网站文字排版网络营销的优势有哪些
  • 做网站最便宜要多少钱广州seo技术优化网站seo
  • 网站做电子链接标识申请好吗查淘宝关键词排名软件
  • 馆陶网站建设cps推广接单平台
  • 织梦如何做几种语言的网站优化系统的软件
  • 包装设计分析广州优化公司哪家好
  • 成都o2o网站建设惠州搜索引擎seo
  • 网站建设总体说明2023年最新新闻简短摘抄
  • 海阳网站开发友链提交入口
  • 正规的佛山网站建设网站交易网
  • 杭州网站建设报价什么软件可以排名次
  • 深圳 电子商务网站开发关键词优化的软件
  • 动漫电影做英语教学视频网站有哪些谷歌paypal官网登录入口
  • wordpress 牛逼惠州seo怎么做
  • 网站建设免费免代码2022年百度seo
  • 网站正在建设友链交换网站源码
  • 想创建一个网站湖北百度推广电话
  • 娄底哪里做网站智推教育seo课程
  • 制作网站的知识谷歌推广费用多少
  • 宜宾金农投资建设集团网站网站怎么优化seo
  • 那片海dede织梦源码企业网络公司工作室网站模板源码模板php潍坊网站关键词推广
  • 专业做汽车零部件平台的网站石家庄seo报价
  • 专业的个人网站建设哪家便宜关键对话
  • 建设心理网站的背景谷歌seo推广
  • 深圳趣网站建设阿里巴巴国际站
  • 宣传单页设计模板图片seo行业岗位有哪些
  • 跨境电商怎么注册seo建设者
  • 外贸网站代码网店运营入门基础知识
  • 新手做网页做那个网站简单北京口碑最好的it培训机构