首页 > 其他分享 >【C语言】结构体

【C语言】结构体

时间:2024-07-27 23:28:36浏览次数:10  
标签:struct 定义 C语言 char 类型 变量 结构

目录

一、结构体概念

二、定义结构体类型

三、定义和引用结构体类型变量

3.1 先定义结构体类型再定义变量名

3.2 在定义类型的同时定义变量

3.3 直接定义结构类型变量

3.4 类型与变量区别      

3.5 结构体的嵌套定义      

3.6 结构体类型变量的引用

3.7 结构体类型变量的初始化

四、定义和引用结构体类型数组

4.1 结构体数组的定义    

4.2 结构体数组的初始化

五、结构体类型指针

5.1 指向结构体变量的指针

5.2 指向结构体数组的指针

5.3 用结构体变量和指向结构体的指针作函数参数    


一、结构体概念

        结构体:若干个数据类型不同(也可相同)的数据项的一个组合。

        结构体是一种数据结构,它需要用户根据自己的需要,按某种规则定义,即定义结构体类型。

二、定义结构体类型

        定义结构体类型的一般形式:          

        struct     结构体类型名                          

                         {成员列表};

struct  student
{ int num;
  char name[20];
  char sex;
  float score;
  char addr[30];
};

        struct是关键字,表示是结构体类型,student是结构体类型名。 结构体中的各个成员形式:类型符 成员名

三、定义和引用结构体类型变量

3.1 先定义结构体类型再定义变量名

        一般形式:

        struct 结构体类型名

        { 成员表列

         };

        struct 结构体类型名 变量名表列;

struct  student
{ int num;
  char name[20];
  char sex;
  float score;
  char addr[30];
};
struct student student1,student2;

        将一个变量定义为结构体类型,不仅要指定变量为结构体类型,而且要指定为某一特定的结构体类型。

3.2 在定义类型的同时定义变量

        一般形式:

        struct 结构体类型名

         { 成员表列

         } 变量名表列;

struct  student
{ int num;
  char name[20];
  char sex;
  float score;
  char addr[30];
}student1,student2;

3.3 直接定义结构类型变量

        一般形式:

        struct

        { 成员表列

         } 变量名表列;

struct 
{ int num;
  char name[20];
  char sex;
  float score;
  char addr[30];
}student1,student2;

        指定了一个无名的结构体类型,它没有名字,显然不能再以此结构体类型区定义其他变量。

3.4 类型与变量区别      

        定义时先定义结构体类型,然后定义变量。      

        类型不分配空间,变量分配空间。

struct  date
{ int month;
  int day;
  int year;
};

3.5 结构体的嵌套定义      

        结构体成员也可以是结构体变量。

标签:struct,定义,C语言,char,类型,变量,结构
From: https://blog.csdn.net/xiaoyingxixi1989/article/details/140742381

相关文章

  • C语言——字符串拼接strcat及自实现代码
    strcat函数在C语言中,strcat函数用于将两个字符串连接起来,即将源字符串(sourcestring)追加到目标字符串(destinationstring)的末尾,并返回目标字符串。这个函数定义在头文件<string.h>中。函数原型如下:char*strcat(char*dest,constchar*src);dest:目标字符串的指针,这个字符......
  • YOLOv10全网最新创新点改进系列:ICCV 2023 - 动态蛇形卷积(Dynamic Snake Convolution)采
    YOLOv10全网最新创新点改进系列:ICCV2023-动态蛇形卷积(DynamicSnakeConvolution)采用管状结构,拉升模型小目标、遮挡目标检测效果,高效涨点!!!所有改进代码均经过实验测试跑通!截止发稿时YOLOv10已改进40+!自己排列组合2-4种后,考虑位置不同后可排列组合上千万种!改进不重样!!专注A......
  • 数据结构~~顺序表
    目录一、顺序表的概念二、顺序表的接口实现 1.顺序表初始化2.顺序表销毁3.检查空间并扩容4.顺序表尾插、顺序表头插5.顺序表尾删、顺序表头删6.顺序表查找7.顺序表在pos位置插入x、删除pos位置的值三、完整代码四、总结一、顺序表的概念顺序表是用一段物理地址连......
  • 数据结构——链式二叉树(C语言版)
    链式二叉树的结构⽤链表来表⽰⼀棵⼆叉树,即⽤链来指⽰元素的逻辑关系。通常的⽅法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别⽤来给出该结点左孩⼦和右孩⼦所在的链结点的存储地址。                                ......
  • 学习c语言第十五天(初阶测评)
    选择题1.下列程序输出结果为672.下列程序输出结果为 死循环打印3.i和j的值分别为什么 214.k的终值是什么905.输出结果是什么 16.正确的是    C7.C语言规定main函数位置    C8.不正确的是    D9.正确的是     c ......
  • C语言初阶(6)
    1.函数递归定义程序调用自身的编程技巧称为递归。递归做为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可......
  • CTF-PWN 堆的相关数据结构
    文章连接: 《堆的相关数据结构》参考:1.ctf.wiki:堆相关数据结构-CTFWiki2.星盟pwn佬:0011.哔哩哔哩-【个人向】CTFpwn入门-P11[高清版]_哔哩哔哩_bilibilimalloc_chunk概念:通过malloc申请的内存称为chunk,也可以将chunk称作堆的一个单位(自己随意理解)。free......
  • 15.C语言形式参数和实际参数的介绍及函数总结
    形参和实参的介绍及函数总结1.形式参数和实际参数2.获取两个最大的数3.关于函数的一些总结1.形式参数和实际参数实际参数可以是常量、变量、表达式y=get(1);//常量y=get(x);//变量y=get(x+1);//表达式形参和实参数值相同,地址不同(传递参数是数值的传递......
  • 数据背后的结构——因子分析
    文章目录基本概念算法步骤1.数据标准化2.相关性矩阵构建3.提取因子4.旋转因子5.因子得分计算应用实例总结因子分析也是一种降维统计算法,它通过识别观测变量之间的潜在关系来简化复杂数据集的结构。这种降维技术不仅揭示了数据中的潜在结构,而且通过较少的因子来解......
  • 1.线性结构(上)——数组与链表
    线性结构(上):数组和链表1.数据结构基本分类线性结构:表、栈、队列非线性结构:树、图、集合本节,我们主要围绕线性表展开讨论线性表主要有两类存储方式:即顺序存储方式——顺序表(数组);链表存储方式——链表在探讨线性表时,我们主要把目光聚焦在“增、删、查”这三种操作之上,同时我们......