#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
//define非关键字,是预处理指令
//struct stu { int name; int age; .....}代表的是结构体类型,就像整形类型一样去创建变量。
struct stu//结构体(拥有自定义类型的能力)
{
char name[20];
int age;
char sex[10];
char tele[12];
};
void print (struct stu* ps)//*ps里面存的是s的地址
{
printf("name:%s\nage:%d\nsex:%s\ntele:%s\n", (*ps).name, (*ps).age, (*ps).sex, (*ps).tele);
//printf("name:%s\nage:%d\nsex:%s\ntele:%s\n", ps->name, ps->age, ps->sex, ps->tele );
}//左边是结构体指针变量->成员名
int main()
{
struct stu s = { "wangwu",23,"nan","15832583976" };//s为结构体创建的变量
//结构体对象.成员名
printf("%s,%d,%s,%s\n", s.name,s.age,s.sex,s.tele);
print(&s);//取出s的地址
return 0;
}
这段代码定义了一个结构体 stu
,其中包含了姓名、年龄、性别和电话号码等信息。然后定义了一个函数 print
,用来打印结构体中的信息。在 main
函数中,创建了一个 stu
类型的结构体变量 s
,并初始化了其中的每个结构体的属性。最后调用 print
函数,将结构体变量的地址传递给函数,以打印结构体中的信息。
这段代码的执行流程如下:
- 定义了结构体
stu
,其中包含姓名、年龄、性别和电话号码等信息。 - 定义了函数
print
,接受一个指向stu
结构体的指针参数,用来打印结构体中的成员信息。 - 在
main
函数中创建了一个stu
类型的结构体变量s
,并初始化了其中的信息。 - 调用
print
函数,传递结构体变量s
的地址。 print
函数接受结构体变量的地址,通过指针访问结构体中的信息,并将信息打印出来。
这段代码的输出结果为:
wangwu,23,nan,15832583976
name:wangwu
age:23
sex:nan
tele:15832583976
第一行是直接在 main
函数中打印结构体变量的信息,接下来是调用 print
函数后打印的信息,两者内容一致。