大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~
希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!!
加油吧!未来可期!!!
结构体
在我的理解看来,定义一个结构体就是自定义一个“数据类型”。我们可以利用结构体去自定义我们需要的数据类型。下面以自定义一个学生类型为例,学生的类型包括学号,姓名,性别,年龄,分数,地址。
#include <stdio.h>
struct student
{
int num;
char name[20];
char sex;
int age;
float score;
char arr[30];
};
int main() {
struct student s1 =
{
1001, "juju", 'm', 19, 87.21, "shantou"
};
printf("%d %s %c %d %.2f %s\n", s1.num, s1.name, s1.sex, s1.age,s1.score, s1.arr);
return 0;
}
循环遍历结构体
#include <stdio.h>
struct student
{
int num;
char name[20];
char sex;
int age;
float score;
char arr[30];
};
int main() {
struct student s1 =
{
1001, "juju", 'm', 19, 87.21, "shantou"
};
struct student surr[3];
printf("%d %s %c %d %.2f %s\n", s1.num, s1.name, s1.sex, s1.age,s1.score, s1.arr);
for (int i = 0; i < 3; i++)
{
scanf("%d %s %c %d %.2f %s\n", &surr[i].num, surr[i].name,
&surr[i].sex, &surr[i].age, &surr[i].score, surr[i].arr);
}
for (int j = 0; j < 3; j++)
{
printf("%d %s %c %d %.2f %s\n", surr[j].num, surr[j].name,
surr[j].sex, surr[j].age, surr[j].score, surr[j].arr);
}
return 0;
}
结构体指针
#include <stdio.h>
struct student
{
int num;
char name[20];
char sex;
};
int main()
{
struct student s1 =
{
1001, "juju", 'm'
};
struct student* p;
p = &s1;
printf("%d %s %c", (*p).num, (*p).name, (*p).sex);//由于 . 的优先级高于 * ,所以要加()
printf("%d %s %c", p->num, p->name, p->sex);
return 0;
}