结构体复习

#include"stdio.h"
#include"string.h"
#include"stdlib.h"
    typedef struct _Teacher
    {
        char title[30];
        char* btitle;
        int age;     
    }Teacher;
int printfTeachers(Teacher * t, int num)
{
    for(int i = 0 ;i < num ;i++)
    {
        printf("%d ",t[i].age);
        printf("%s ",t[i].title);
        printf("%s \n",t[i].btitle);
    }
}
int sortTeachers(Teacher * t, int num)
{
    Teacher temp;
    for(int i = 0 ;i < num ;i++)
    {
        for(int j = i+1 ;j < num ; j++)
        {
            if(t[j].age < t[i].age)
            {
                 temp = t[i];
                 t[i] = t[j];
                 t[j] = temp;
            }
        }
    }
}
Teacher * sanfArrayTeache(int num)
{
    Teacher * t = (Teacher*)malloc(num*sizeof(Teacher));
    for(int i = 0 ;i < num; i++)
    {
        printf("Enter  age:");
        scanf("%d",&t[i].age);
        printf("Enter title: ");
        scanf("%s",t[i].title);
        printf("Enter btitle:");
        t[i].btitle = (char*)malloc(12*sizeof(char));
        memset(t[i].btitle,0,12*sizeof(char));
        scanf("%s",t[i].btitle);
    }
    return t;
}
int freeArrayTeache(Teacher * t, int num)
{
    if(t != NULL)
    {
     for( int  i = 0 ;i < num ;i ++)
      {
        free(t[i].btitle);
     }
    }

}
int main()
{

    Teacher * t = sanfArrayTeache(4);
    printfTeachers(t,4);
    sortTeachers(t,4);
    printfTeachers(t,4);
    free(t);
    return 0;
}

你可能感兴趣的:(结构体复习)