结构体-C语言(初阶)

这篇具有很好参考价值的文章主要介绍了结构体-C语言(初阶)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、结构体声明

        1.1 结构概念

        1.2 结构声明

        1.3 结构成员的类型

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

二、结构体成员的访问

        2.1 结构体变量访问成员

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

三、结构体传参


一、结构体声明

        1.1 结构概念

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

        1.2 结构声明

struct   str_name

{

        成员列表;

}变量列表;

        示例:描述一个学生

 struct   Student

{

        char id[20];        //学号

        char name[20];        //姓名

        char  sex[5];        //性别

        int age;        //年龄

}student1,student2;

//使用typeof对结构体重命名

typeof struct Student  Stu;

        1.3 结构成员的类型

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

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

struct Point
{
        int x;
        int y;
}p1; //声明类型同时定义变量p1
struct Point p2;

//初始化

struct Point p3 = {2, 3};

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

二、结构体成员的访问

        2.1 结构体变量访问成员

        结构变量的成员是通过点操作符 . 访问。

 struct   Student

{

        char id[20];        //学号

        char name[20];        //姓名

        char  sex[5];        //性别

        int age;        //年龄

};

struct Student student1={“2307211023”,“zhangsan”,“男”,15};

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

        通过点操作符 -> 访问.

void print(struct Student* ps)
{
        printf("name = %s age = %d\n", (*ps).name, (*ps).age);
        //使用结构体指针访问指向对象的成员
        printf("name = %s age = %d\n", ps->name, ps->age);
}

三、结构体传参

struct S
{
        int data[1000];
        int num;
};
struct S s = {{1,2,3,4}, 1000};
//结构体传参
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;
}

        结构体传参的时候,要传结构体的地址。原因:函数传参的时,参数需要压栈,如果传递一个结构体对象的时,结构体过大,参数压栈的的系统开销比较大,会导致性能的下降。
 文章来源地址https://www.toymoban.com/news/detail-688613.html

到了这里,关于结构体-C语言(初阶)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【初阶C语言】初阶结构体详细讲解

    结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 例如描述一个学生: 结构的成员可以是标量、数组、指针,甚至是其他结构体。 有了结构体类型,那如何定义变量,其实很简单。 结构体变量访问成员 结构变量的成员是通过点操作符(

    2023年04月12日
    浏览(39)
  • 结构体-C语言(初阶)

    目录 一、结构体声明         1.1 结构概念         1.2 结构声明         1.3 结构成员的类型         1.4  结构体变量的定义和初始化 二、结构体成员的访问         2.1 结构体变量访问成员         2.2 结构体指针访问指向变量的成员 三、结构体传参         结构

    2024年02月10日
    浏览(33)
  • 初阶C语言-结构体

    🌞 “少年有梦不至于心动,更要付诸行动。” 今天我们一起学习一下结构体的相关内容! 📖 结构 是一些值的集合,这些值称为 成员变量 ,结构的每个成员可以是不同类型的变量。 📝为什么会出现结构体呢?在我们当前的一些学习中,我们学过的类型都是内置类型,例

    2024年02月11日
    浏览(37)
  • 初阶C语言——结构体

    Hello,我们又见面了,我们的初阶C语言也将要结束,今天讲的是结构体,那我们开始今天的学习。 结构体的声明 1.1 结构的基础知识 结构是一些值的集合,这些值称为成员变量。结构的每个成原可以是不同类型的变量 1.2 结构的声明 下面我们写代码来举例子吧 我们现在写一

    2024年02月16日
    浏览(36)
  • 【初阶C语言】学会结构体

    1.结构体类型的声明 2.结构体初始化 3.结构体成员访问 4.结构体传参   前言:结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.结构的声明 结构体声明的模板:     这是一个模板的声明,得出来的结构体只是一种类型,与int char一样。

    2024年02月14日
    浏览(32)
  • 【C语言】初阶结构体

    👦个人主页:Weraphael ✍🏻作者简介:目前正在回炉重造C语言(2023暑假) ✈️专栏:【C语言航路】 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞👍🏻 收藏 📂 加关注😍 1.1 结构的概念 结构 是一些= 值的集合 ,这些值称为 成员变量

    2024年02月16日
    浏览(31)
  • C语言——结构体初阶

      哈喽,大家好,今天我们来学习C语言中的结构体,今天主要学习初阶结构体,后期我们将继续学习结构体进阶。 目录 1.结构体类型的声明 1.1 结构体的基础知识 1.2 结构的声明  1.3 结构成员的类型 1.4 结构体变量的定义和初始化 2. 结构体成员的访问 3.结构体传参 结构是一

    2024年02月07日
    浏览(28)
  • C语言完整版笔记(初阶,进阶,深刨,初阶数据结构)

    1.初阶: 1.1C语言初阶易忘知识点速记 2.进阶:  1.2C语言进阶易忘点速记 3.深剖: 2.1C语言重点解剖要点速记 2.2C语言重点解剖操作符要点速记   2.3C语言重点解剖预处理要点速记 2.4C语言重点解剖指针和数组要点速记 2.5C语言重点解剖内存管理函数要点速记 4.数据结构:

    2024年02月16日
    浏览(38)
  • 『C语言初阶』第九章 -结构体

    🔥 博客主页 : 小羊失眠啦. 🔖 系列专栏 : C语言 🌥️ 每日语录 : 相信自己,比谁都棒。 ❤️ 感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 今天小羊又来给铁汁们分享关

    2024年02月12日
    浏览(42)
  • 『C语言初阶』第八章 -结构体

    🔥 博客主页 : 小羊失眠啦. 🔖 系列专栏 : C语言 🌥️ 每日语录 : 相信自己,比谁都棒。 ❤️ 感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 今天小羊又来给铁汁们分享关

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包