结构体定义 typedef struct 用法详解和用法小结

结构体定义 typedef struct 用法详解和用法小结typedef是类型定义的意思。typedefstruct是为了使用这个结构体方便。具体区别在于:若structnode{}这样来定义结构体的话。在定义node的结构体变量时,需要这样写:structnoden;若用typedef,可以这样写:typedefstructnode{}NODE;。在申请变量时就可以这样写:NODEn;其实就相当于NODE是nod…

结构体定义

typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。

具体区别在于: 
若struct node{ }这样来定义结构体的话。在定义 node 的结构体变量时,需要这样写:struct node n; 
若用typedef,可以这样写:typedef struct node{}NODE; 。在申请变量时就可以这样写:NODE n;就是自定义了一种数据类型。比如整型,用的时候是int age=10;int是数据类型,age是整型变量。同样typedef就是一种可以自定义类型的关键字,这样你就可以自定义类型了。

1、结构体

1)、结构体变量的定义可以放在结构体的声明之后:

struct Student{         //声明结构体
    char name[20];      //姓名
    int num;            //学号
    float score;        //成绩
};
struct Student stu1;    //定义结构体变量

2)、结构体变量的定义也可以与结构体的声明同时,这样就简化了代码:

struct Student{        
    char name[20];       
    int num;             
    float score;         
}stu1;                  //在定义之后跟变量名

3)、还可以使用匿名结构体来定义结构体变量:

struct {                //没有结构名
    char name[20];       
    int num;            
    float score;         
}stu1;  

但要注意的是这样的方式虽然简单,但不能再次定义新的结构体变量了。

访问结构成员

虽然结构类似一个数组,只是数组元素的数据类型是相同的,而结构中元素的数据类型是可以不同的。但结构不能像数组那样使用下标去访问其中的各个元素,而应该用结构成员运算符点(.)。即访问成员的一般形式是:
结构变量名 . 成员名
如 stu1 . name 表示学生stu1的姓名。

但如果结构体中的成员又是一个结构体,如:

struct Birthday{                //声明结构体 Birthday
    int year;
    int month;
    int day;
};
struct Student{                 //声明结构体 Student
    char name[20];              
    int num;                    
    float score;                 
    struct Birthday birthday;   //生日
}stu1;
 
 

则用 stu1.birthday.year 访问出生的年份。
举例

#include <stdio.h>

//定义结构体并声明变量
struct people
{
    int age;
    int id;
}a;

int main()
{
    a.age = 20;
    printf("%d\n", a.age);
	
}

2、typedef修饰的结构体

typedef修饰的结构体,表示自定义了一种数据类型
 

#include <stdio.h>


struct people
{
    int age;
    int id;
}a;//a代表什么?

typedef struct cat
{
    int age;
    int id;
}b;
  
  
int main()
{
    a.age = 20;
    printf("%d\n", a.age);
	
	//cat结构体被typedef修饰,表示已经把cat结构体定义为一种类型,这样就可以这样定义一个cat类型的变量b b1,b tom,b robin
	b tom;
	tom.age=100;
	 printf("%d\n", tom.age);
    return 0;
}

今天的文章结构体定义 typedef struct 用法详解和用法小结分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30769.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注