C语言结构体讲解
定义结构
结构体的定义用struct语句
struct name
{
menmber-list
menmber-list
...
};
member-list是标准的变量定义,比如 int a; double b,或者一些其他有效的变量定义
例如定义一个学生的结构体
struct Student
{
char *name;
char *id;
int age;
};
结构体的初始化
定义时赋值
Student student= {"张三", "2020313", 18 };
定义后逐个赋值
struct Student student;
student.name = "Zhang";
student.id = "2017001";
student.age = 18;
访问结构体成员
当需要访问结构体成员时,使用成员访问运算符(.)
#include<stdio.h>
struct Student
{
char *name;
char *id;
int age;
};
int main()
{
struct Student student = {"Zhangsan", "202001", 18 };
printf("student1 name : %s\n", student.name);
printf("student1 id : %s\n", student.id);
printf("student1 age : %d\n", student.age);
return 0;
}
输出如下:
student1 name : Zhangsan
student1 id : 202001
student1 age : 18
结构体作为函数参数
#include<stdio.h>
struct Student
{
char *name;
char *id;
int age;
};
void Print(struct Student s)
{
printf("student1 name : %s\n", s.name);
printf("student1 id : %s\n", s.id);
printf("student1 age : %d\n", s.age);
}
int main()
{
struct Student student = {"Zhangsan", "202001", 18 };
Print(student);
return 0;
}
输出如下:
student1 name : Zhangsan
student1 id : 202001
student1 age : 18