结构体练习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;
}
posted @ 2019-12-16 19:28  哈哈,呵呵,嘿嘿  阅读(223)  评论(0)    收藏  举报