如何定义并初始化一个结构体?

2026-04-12 06:111阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计494个文字,预计阅读时间需要2分钟。

如何定义并初始化一个结构体?

一. 结构体类型的声明struct tag{ // 结构体标签(无名结构体时为匿名结构体) 成员变量1; 成员变量2; ...};二. 结构体变量的定义struct tag 变量名;

一.结构体类型的声明

struct tag(结构体标签)//无标签时为匿名结构,只能用一次 { 成员; }结构体变量;(此处结构体变量可省略,但注意要有;)

二.结构体变量的定义

//定义方式1 变量名紧跟类型 struct node { int x; char name[10]; }p1; //定义方式2 先写类型 再进行定义 struct Stu { int x; char name[10] }; struct Stu s;

注意:以上方式定义的结构体不在主函数main内,均为全局变量,若在主函数main内定义则为局部变量。

三.结构的自引用——可实现链表功能

//结构的自引用 实现链表功能 typedef struct Node//使用typedef后,定义结构体变量时,Node p1 等同于 struct Node p1 { int data; struct Node* next; };

四.结构体的初始化

1.结构体的初始化

#include <stdio.h> struct Stu { int x; char name[10]; int y; }; int main() { struct Stu s = { 6,"zhangsan",7 }; printf("%d,%s,%d", s.x, s.name, s.y);//使用 结构体变量名.结构体成员名(s.name) 可得到相应数据 }

运行结果:

如何定义并初始化一个结构体?

2.结构体嵌套初始化

#include <stdio.h> struct p { char y; }; struct node { int x; char name[10]; struct p a;//引用之前须先初始化结构体struct p }; struct node s = { 6,"zhangsan",{'w'}}; int main() { printf("%d,%s,%c", s.x, s.name, s.a.y);//使用 结构体变量名.结构体变量名.成员名(s.a.y)可得到嵌套结构体相应数据 }

运行结果:


以上就是结构体的基本知识,欢迎指正~

本文共计494个文字,预计阅读时间需要2分钟。

如何定义并初始化一个结构体?

一. 结构体类型的声明struct tag{ // 结构体标签(无名结构体时为匿名结构体) 成员变量1; 成员变量2; ...};二. 结构体变量的定义struct tag 变量名;

一.结构体类型的声明

struct tag(结构体标签)//无标签时为匿名结构,只能用一次 { 成员; }结构体变量;(此处结构体变量可省略,但注意要有;)

二.结构体变量的定义

//定义方式1 变量名紧跟类型 struct node { int x; char name[10]; }p1; //定义方式2 先写类型 再进行定义 struct Stu { int x; char name[10] }; struct Stu s;

注意:以上方式定义的结构体不在主函数main内,均为全局变量,若在主函数main内定义则为局部变量。

三.结构的自引用——可实现链表功能

//结构的自引用 实现链表功能 typedef struct Node//使用typedef后,定义结构体变量时,Node p1 等同于 struct Node p1 { int data; struct Node* next; };

四.结构体的初始化

1.结构体的初始化

#include <stdio.h> struct Stu { int x; char name[10]; int y; }; int main() { struct Stu s = { 6,"zhangsan",7 }; printf("%d,%s,%d", s.x, s.name, s.y);//使用 结构体变量名.结构体成员名(s.name) 可得到相应数据 }

运行结果:

如何定义并初始化一个结构体?

2.结构体嵌套初始化

#include <stdio.h> struct p { char y; }; struct node { int x; char name[10]; struct p a;//引用之前须先初始化结构体struct p }; struct node s = { 6,"zhangsan",{'w'}}; int main() { printf("%d,%s,%c", s.x, s.name, s.a.y);//使用 结构体变量名.结构体变量名.成员名(s.a.y)可得到嵌套结构体相应数据 }

运行结果:


以上就是结构体的基本知识,欢迎指正~