c语言--结构体

结构体

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

关键字:struct

结构体的声明:

struct tag
{
    member-list;
}variable-list;

 

例:描述一个学生

复制代码

  #define _CRT_SECURE_NO_WARNINGS 1
  #include <stdio.h>


struct
Stu { //struct:结构体关键字 Stu:结构体标签 struct Stu 结构体类型 char name[5]; int age; char tele[20]; char sex[5]; }; //}s1,s2,s3;//三个全局结构体变量。尽量少的使用全局变量 int main() { struct Stu s1; return 0; }
复制代码
复制代码
typedef struct Stu
{
    //struct:结构体关键字 Stu:结构体标签 struct Stu 结构体类型
    char name[5];
    int age;
    char tele[20];
    char sex[5];
}Stu;
//}s1,s2,s3;//三个全局结构体变量。尽量少的使用全局变量
int main()
{
    struct Stu s1;
    Stu s2;
    return 0;
}
复制代码

typedef:可以将结构体的类型进行修改

第一个下面的s1,s2,s3是成员变量,第二个下面的Stu是类型

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

复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>



struct T
{
    char name[20];
    int age;
};

struct Stu
{
    char name[20];
    int age;
    char tele[20];
    char sex[5];
    struct T t;
};


int main()
{
    struct Stu s = { "阿跃",20,"19188888888","",{"李华",18} };
    printf("%s\n", s.name);
    printf("%d\n", s.age);
    printf("%s\n", s.tele);
    printf("%s\n", s.sex);
    printf("%s\n", s.t.name);
    printf("%d\n", s.t.age);
   return 0; }
复制代码

结构体成员的类型:可以是标量,数组,指针,甚至是其它结构体

结构体变量访问成员结构体变量的成员是通过点操作符(.)访问的,点操作符接受讲个操作符。

结构体传参:

例:

复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
struct Stu
{
    char name[20];
    int age;
};

void Pine(struct Stu p)
{
    printf("%s\n", p.name);
    printf("%d\n", p.age);
}

void Pine2(struct Stu* p)
{
    printf("%s\n", p->name);
    printf("%d\n", p->age);
}
int main()
{
    struct Stu s = { "阿跃",20 };
    Pine(s);
    Pine2(&s);
    return 0;
}
复制代码

无论是从时间上还是存储上,传址都比传值好。因为形参是实参的一份临时拷贝。

 

posted @   小菜阿跃  阅读(62)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示