纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

C语言初始化结构体 C语言使用四种方法初始化结构体

ericbars   2021-06-24 我要评论
想了解C语言使用四种方法初始化结构体的相关内容吗ericbars在本文为您仔细讲解C语言初始化结构体的相关知识和一些Code实例欢迎阅读和指正我们先划重点:C语言初始化结构体,C语言四种初始化结构体下面大家一起来学习吧

什么是结构体

在实际问题中一组数据往往有很多种不同的数据类型例如登记学生的信息可能需要用到 char型的姓名int型或 char型的学号int型的年龄char型的性别float型的成绩又例如对于记录一本书需要 char型的书名char型的作者名float型的价格在这些情况下使用简单的基本数据类型甚至是数组都是很困难的而结构体(类似Pascal中的“记录”)则可以有效的解决这个问题结构体本质上还是一种数据类型但它可以包括若干个“成员”每个成员的类型可以相同也可以不同也可以是基本数据类型或者又是一个构造类型

结构体的优点

结构体的优点:结构体不仅可以记录不同类型的数据而且使得数据结构是“高内聚低耦合”的更利于程序的阅读理解和移植而且结构体的存储方式可以提高CPU对内存的访问速度 

定义

struct InitMember
{
    int first;
    double second;
    char* third;
    float four;
};

方法一:定义时赋值

struct InitMember test = {-10,3.141590"method one"0.25};

需要注意对应的顺序不能错位

方法二:定义后逐个赋值

struct InitMember test;

test.first = -10;
test.second = 3.141590;
test.third = "method two";
test.four = 0.25;

方法三:定义时乱序赋值(C风格)

这种方法类似于第一种方法和第二种方法的结合体既能初始化时赋值也可以不考虑顺序;

struct InitMember test = {
    .second = 3.141590,
    .third = "method three",
    .first = -10,
    .four = 0.25
};

这种方法在Linux内核(kernel)中经常使用在音视频编解码库FFmpeg中也大量频繁使用还是很不错的一种方式

方法四:定义时乱序赋值(C++风格)

这种方法和前一种类似网上称之为C++风格类似于key-value键值对的方式同样不考虑顺序

struct InitMember test = {
    second:3.141590,
    third:"method three",
    first:-10,
    four:0.25
};

相关文章

猜您喜欢

  • Vue学生管理功能 Vue实现学生管理功能

    想了解Vue实现学生管理功能的相关内容吗影修在本文为您仔细讲解Vue学生管理功能的相关知识和一些Code实例欢迎阅读和指正我们先划重点:vue,学生管理下面大家一起来学习吧..
  • feign接口返泛型属性为null 解决feign接口返回泛型设置属性为null的问题

    想了解解决feign接口返回泛型设置属性为null的问题的相关内容吗PolarisHuster在本文为您仔细讲解feign接口返泛型属性为null的相关知识和一些Code实例欢迎阅读和指正我们先划重点:feign接口,返回泛型,设置属性null下面大家一起来学习吧..

网友评论

Copyright 2020 www.gamerfx.net 【游戏天空】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式