c/c++如何正确使用结构体?

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c/c++如何正确使用结构体?相关的知识,希望对你有一定的参考价值。

结构体是C语言中经常会用到的因此结构体必须要学好,不管你是做嵌入式单片机还是C语言开发,我们就一定义结构体做个开头,简单的说几个,下边会有详细的讲解 资料提供参考。

  1. 先定义结构体类型,再定义结构体变量。
struct student{
    char no[20];       //学号
    char name[20];    //姓名
     char sex[5];    //性别
    int age;          //年龄
};             
struct student stu1,stu2;
//此时stu1,stu2为student结构体变量

2. 定义结构体类型的同时定义结构体变量。

struct student{
    char no[20];        //学号
    char name[20];     //姓名
    char sex[5];      //性别
    int age;            //年龄
} stu1,stu2; 

此时还可以继续定义student结构体变量,如:

struct student stu3;

3、不指定类型名而直接定义结构体变量

struct{
    char no[20];        //学号
    char name[20];      //姓名
    char sex[5];      //性别
    int age;          //年龄
} stu1,stu2;  

一般不使用这种方法,因为直接定义结构体变量stu1、stu2之后,就不能再继续定义该类型的变量。

4、用typedef定义结构体变量

typedef struct stdudent
 
{
       char name[20];
       int age;
}student_t;

上面的代码,定义了一个结构体变量类型,这个类型有2个名字:第一个名字是struct student;第二个类型名字是student_t.

定义了这个之后,下面有2中方法可以定义结构体变量

第一种: struct student student_1; //定义了一个student_1的结构体变量

第二种:student_t student_1 //定义了一个student_1的结构体变量

|
|
|
|

  • 注意:

第四种方法比较特别,分号前的东西不是创建结构体,而是定义一个创建结构体的别名

引用文章:结构体我们该如何来正确定义的4中方法

以上是关于c/c++如何正确使用结构体?的主要内容,如果未能解决你的问题,请参考以下文章

重温C与C++之结构体大小计算

如何正确编组从Unity到C / C ++的字符串?

我的C/C++语言学习进阶之旅JNI开发之转换C层返回的结构体为Java实体Bean

我的C/C++语言学习进阶之旅JNI开发之转换C层返回的结构体为Java实体Bean

我的C/C++语言学习进阶之旅JNI开发之转换C层返回的结构体为Java实体Bean

Linux C/C++关于结构体定义,typedef关键字的使用场景