结构体练习25
//包含结构体的结构
#include<stdlib.h>
#include<stdio.h>
struct date{
int year;
int month;
int day;
};
struct student{
char name[20];
int num;
char sex;
struct date birthday;
}student = { "suyuqun", 1234567, 'w', {1986,12,6} };
int main(){
printf("---information---\n");
printf("name:%s\n", student.name);
printf("num:%d\n", student.num);
printf("sex:%c\n", student.sex);
printf("birthday:%d,%d,%d\n", student.birthday.year, student.birthday.month, student.birthday.day);
system("pause");
return 0;
}
//结构体指针
//结构体类型 *指针名
//引用方法(*指针名).成员名
/*#include<stdio.h>
int main(){
struct student{
char name[20];
int num;
int sex;
int grade;
}student = { "suyuqun", 12234, 'w', 2 };
struct student*pstruct;
pstruct = &student;
printf("----the student's information---\n");
printf("name:%s\n", (*pstruct).name);
printf("num:%d\n", (*pstruct).num);
printf("sex:%c\n", (*pstruct). sex);
printf("grade:%d\n", (*pstruct).grade);
system("pause");
return 0;
}*/
//student.成员名;
//(*pstruct).成员名;
//pstruct->成员名;
//这三个表示方法是等价的;
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
struct student{
char name[20];
int num;
char sex;
int grade;
}student;
int main(){
struct student* pstruct;
pstruct = &student;
strcpy(pstruct->name, "suyuqun");
pstruct->num = 1324;
pstruct->sex = 'w';
pstruct->grade = 2;
printf("---the student information\n");
printf("name:%s\n", student.name);
printf("num:%d\n", student.num);
printf("sex:%c\n", student.sex);
printf("grade:%d\n", student.grade);
system("pause");
return 0;
}
/*#include<stdio.h>
struct student{
char name[20];
int num;
char sex;
int grade;
}student[5] = { { "wangjiaheng", 123, 'm', 3 },
{ "yulongjiao", 34567, 'w', 3 },
{ "jiangxuehuan", 65432, 'w', 3 },
{ "zhangmeng", 9876543, 'w', 3 },
{ "hanliang", 765432, 'm', 3 } };
int main(){
struct student* pstruct;
int index;
pstruct = student;
for (index = 0; index < 5; index++){
printf("No%d student:\n", index + 1);
printf("name:%s,num:%d\n", pstruct->name, pstruct->num);
printf("sex:%c,grade:%d\n", pstruct->sex, pstruct->grade);
printf("\n");
}
system("pause");
return 0;
}*/
//结构体作为函数的参数;
#include<stdlib.h>
#include<stdio.h>
struct student{
char name[20];
float score[3];
}student = { "suyuqun", 98.5f, 89.0, 93.5f };
void Display(struct student stu){
printf("---information---\n");
printf("name:%s\n", stu.name);
printf("chinese:%2f\n", stu.score[0]);
printf("math:%2f\n", stu.score[1]);
printf("english:%2f\n", stu.score[2]);
printf("average score:%2f\n", (stu.score[0] + stu.score[1] + stu.score[2]) / 3);
int main(){
Display(student);
system("pause");
return 0;
}

浙公网安备 33010602011771号