首页 > 其他分享 >结构体的定义和基础使用

结构体的定义和基础使用

时间:2023-11-04 18:55:06浏览次数:33  
标签:p2 p3 p1 定义 age 基础 name sex 结构

结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,是C语言中一种重要的数据类型。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体通常用来表示类型不同但是又相关的若干数据。

  1. 定义:
    struct person{
            char name[30];//姓名
            int age;//年龄
            char sex[10];//性别
        };

    struct person 定义了一个新的类型,还没有申请空间。

  2. 基础使用:

    定义三个变量p1,p2,p3。

	person p1,p2,p3;

    也可以在创建结构体时定义全局变量:

    

struct person{
        char name[30];//姓名
        int age;//年龄
        char sex[10];//性别
    }p1,p2,p3;

  接着初始化结构体变量:

  

    p1 = {"卡尔",16,"男"};
    p2 = {"黛比",14,"女"};
    p3 = {"利普",19,"男"};

  打印结构体:

    printf ("%s %d %s\n",p1.name,p1.age,p1.sex);
    printf ("%s %d %s\n",p2.name,p2.age,p2.sex);
    printf ("%s %d %s\n",p3.name,p3.age,p3.sex);    

  完整代码:

#include <stdio.h>
int main()
{    
    struct person{
        char name[30];//姓名
        int age;//年龄
        char sex[10];//性别
    };
    person p1,p2,p3;
    p1 = {"卡尔",16,"男"};
    p2 = {"黛比",14,"女"};
    p3 = {"利普",19,"男"};
    printf ("%s %d %s\n",p1.name,p1.age,p1.sex);
    printf ("%s %d %s\n",p2.name,p2.age,p2.sex);
    printf ("%s %d %s\n",p3.name,p3.age,p3.sex);
}

  总结和个人体会:

  

  结构体是一种自定义的数据类型,可以将不同种类的数据封装在一起,方便进行组合和管理。结构体由多个成员变量组成,每个成员变量可以是任意数据类型,包括基本数据类型、数组、指针等等。使用结构体可以        提高程序的可读性、可维护性和可扩展性。

  1. 结构体可以用于封装相关数据,方便进行组合和管理。比如,可以用结构体来表示一个人的信息,包括姓名、年龄、身高、体重等等。

  2. 结构体可以作为函数参数传递,也可以作为函数的返回值。这样可以避免传递多个参数或者使用全局变量的问题,提高程序的模块化和可重用性。

  3. 在使用结构体时,需要注意内存对齐和字节对齐的问题。为了提高程序的运行效率,编译器会对结构体进行优化,保证结构体的大小和内存布局是符合要求的。

  4. 结构体还可以嵌套定义,形成复杂的数据结构。比如,可以用结构体来表示一个学生的信息,包括基本信息和课程信息,而课程信息又包括课程名称、学分、成绩等等。    

 

标签:p2,p3,p1,定义,age,基础,name,sex,结构
From: https://www.cnblogs.com/one-1/p/17809666.html

相关文章

  • Layui自定义icon图标
    在使用Layui进行开发时,会使用:<iclass="layui-icon">&#xe60c;</i>或者<iclass="layui-iconlayui-icon-face-smile"style="font-size:30px;color:#1E9FFF;"></i>进行图标的引入,但是官方给的图标毕竟有限,有时候没有自己想要的,但在阿里巴巴矢量图标库(ht......
  • 自定义简单的axios方法
    functionmyAxios(config){returnnewPromise((resolve,reject)=>{constxhr=newXMLHttpRequest()//如果存在想要放在链接后的参数?name=1&password=2if(config.params){constparamsObj=newURLSearchParams(conf......
  • 数据结构:详解顺序串
    《详解循环队栈》目录:顺序串的定义及其特点顺序串的实现完整Demo运行截图小结参考文献 顺序串的定义及其特点顺序串的存储结构的和线性表一样,也是主要分为顺序存储结构和链式存储结构两类,前者简称顺序串,顺序串和顺序表一样,只不过它的每个元素仅由一个字符组成,在......
  • 2023-2024-1 20231416 《计算机基础与程序设计》第六周学习总结
    作业信息这个作业属于哪个课程(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/12754)这个作业的目标《计算机科学概论》第7章《C语言程序设计》第5章作业正文http......
  • Python中的函数未定义的错误
    通过这个解释,我们将了解当Python程序显示类似NameError:name''isnotdefined的错误时,即使该函数存在于脚本中,也会出现这种情况。我们还学习了当我们使用拼写错误的变量或没有导入的内置函数时会发生什么,以及如何在Python中避免这些错误。避免在Python声明之前调用函数在Python......
  • 一、数据结构入门
    “程序(Program)=数据结构(DataStructure)+算法(Algorithm)”数学基础1. 指数指数是幂运算aⁿ(a≠0)中的一个参数,a为底数,n为指数,指数位于底数的右上角,幂运算表示指数个底数相乘。如43=4*4*4一些基本的公式2. 对数在数学中,对数是对求幂的逆运算,正如除法是乘法的倒数,反之亦然。因此,对......
  • 4 . 分支结构--循环结构
    1.分支结构1.1if语句1.1.1if(条件){语句1}根据条件来有选择性的执行某些代码if(2>1){//判断2>1是否成立,如果成立则执行花括号里的代码,否则跳过console.log('众所周知,2比1大');}1.1.2if(条件){语句1}else{语句2}if(2<1){//判断2<1是否成立......
  • SpringCloud 基础
    SpringCloud基础微服务基础注意:此阶段学习推荐的电脑配置,至少配备4核心CPU(主频3.0Ghz以上)+16GB内存,否则卡到你怀疑人生。前面我们讲解了SpringBoot框架,通过使用SpringBoot框架,我们的项目开发速度可以说是得到了质的提升。同时,我们对于项目的维护和理解,也会更加的轻松。可见,Spr......
  • 4 . 分支结构--循环结构
    1.分支结构1.1if语句1.1.1if(条件){语句1}根据条件来有选择性的执行某些代码if(2>1){//判断2>1是否成立,如果成立则执行花括号里的代码,否则跳过console.log('众所周知,2比1大');}1.1.2if(条件){语句1}else{语句2}if(2<1){//判断2<1是否成立......
  • 2023-2024-1 20231410刘珈岐 《计算机基础与程序设计》第六周学习总结
    2023-2024-120231410刘珈岐《计算机基础与程序设计》第六周学习总结作业信息这个作业属于哪个课程(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/12754)这个作业......