一:结构体描述简单例子
struct stu
{
//成员变量
char name[20];
short age;
char tele[12];
char sex[5];
};s1, s2, s3;//s1,s2,s3 是三个全局的结构体变量
//
int main()
{
struct stu s;//局部的结构体变量
return 0;
}
结构体
描述一个学生一些数据
名字
年龄
电话
性别
struct 结构体关键字 stu-结构体标签 struct stu -结构体类型
};定义一个结构体类型
二:typedef的作用
简单的介绍:typedef struct stu//typedef是把struct stu 重新起一个名字stu
例一:
{
//成员变量
char name[20];
short age;
char tele[12];
char sex[5];
}stu;//stu是类型
int main()
{
stu s;
return 0;
}
例二:
typedef struct stu//typedef是把struct stu 重新起一个名字stu
{
//成员变量
char name[20];
short age;
char tele[12];
char sex[5];
}stu;//stu是类型
int main()
{
stu s1 = {"张三",20,"15952455169","男"};
struct stu s2 = { "旺财",30,"1234423242","女" };//在创建的时候就是初始化
return 0;
}
三:结构体成员的类型
结构的成员可以是标量,数组,指针,和其他的结构体
结构体成员中是其他结构体例子
#include<stdio.h>
struct S
{
int a;
char c;
char arr[20];
double d;
};
struct T
{
char ch[10];
struct S s;//结构体成员可以是其他结构体
char* pc;
};
int main()
{
char arr[] = "hello bit\n";
struct T t = { "hehe",{100,'w',"hello world",3.14},arr };//创建一个变量
printf("%s\n", t.ch);//hehe
printf("%s\n", t.s.arr);//hello world
printf("%lf\n", t.s.d);//3.14
printf("%s\n", t.pc);//hello.bit
return 0;
}
四:不同方式打印结构体
4.1用函数来打印结构体例子
#include<stdio.h>
typedef struct stu
{
//成员变量
char name[20];
short age;
char tele[12];
char sex[5];
}stu;
void pint1(stu tmp)//tmp或者什么都可以来接收s
{
printf("name:%s\n", tmp.name);
printf("age:%d\n", tmp.age);
printf("tele:%s\n", tmp.tele);
printf("sex:%s\n", tmp.sex);
}
int main()
{
stu s = { "李四",40,"18655131970","男" };
pint1(s);
return 0;
}
4.2利用指针来打印
#include<stdio.h>
typedef struct stu
{
//成员变量
char name[20];
short age;
char tele[12];
char sex[5];
}stu;
void pint2(stu* ps)
{
printf("name:%s\n", ps->name);
printf("age:%d\n", ps->age);
printf("tele:%s\n", ps->tele);
printf("sex:%s\n", ps->sex);
}
int main()
{
stu s = { "李四",40,"18655131970","男" };
pint2(&s);
return 0;
}
补充说明:用指针更好因为传递的是地址,传递的是地址
如果用函数传递的数值过大就会发生意外
开始慢慢的刷题了,不焦躁,不自卑,不傲慢,要谦虚请教,多多学习,努力的做好自己,看到优秀的人要学习!