复制代码
#include<stdio.h>
//结构体
//
//结构体的声明,结构体变量的定义与初始化,结构体成员的访问
struct Peo
{
char name[20];
char tele[12];
char sex[5];//女 男 保密
int high;
}p3,p4;
struct Peo p5, p5;
struct St
{
struct Peo p;
int num;
float f;
};
void print2(struct Peo* sp) {
printf("%s %s %s %d\n", sp->name, sp->tele, sp->sex, sp->high); //结构体指针->成员变量
}
void print1(struct Peo p) {
printf("%s %s %s %d\n", p.name, p.tele, p.sex, p.high); //结构体变量.成员变量
}
int main() {
struct Peo p1 = {"张三","15364649771","男",197};//结构体变量的创建
struct St s = { {"lisa","16234479467","女",184},100,3.14f };
printf("%s %s %s %d \n", p1.name, p1.tele, p1.sex, p1.high);
printf("%s %s %s %d %d %f \n", s.p.name, s.p.tele, s.p.sex, s.p.high,s.num,s.f);
print1(p1);
print2(&p1);//结构体传参时,尽量传结构体的地址(如果传对象,参数会压栈,影响性能)
return 0;
}