#define _CRT_SECURRE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
typedef struct Teacher
{
char name[20];
int age;
int id;
}Teacher;
void printTeacher(Teacher *arr,int num)
{
int i;
for (i=0;i<num;i++)
{
printf("age:%d\n",arr[i].age);
}
}
void sortTeacher(Teacher *arr,int num)
{
int i,j;
Teacher tmp ;
for (i=0;i<num;i++)
{
for (j=i+1;j<num;j++)
{
if (arr[i].age>arr[j].age)
{
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
}
//通过return返回
Teacher* createTeacher(int num)
{
Teacher *tmp;
tmp =(Teacher*)malloc(sizeof(Teacher)*num);
if (tmp == NULL)
{
return NULL;
}
return tmp;
}
//通过函数参数返回
int createTeacher2(Teacher**p,int num)
{
Teacher *tmp;
int ret = 0;
tmp =(Teacher*)malloc(sizeof(Teacher)*num);
if (tmp == NULL)
{
ret = -1;
return ret;
}
*p = tmp;
return ret;
}
void freeTeacher(Teacher *p)
{
if (p!=NULL)
{
free(p);
}
}
int main()
{
int i;
//Teacher Array[3];
/*Teacher *Array;
Array = createTeacher(3);*/
Teacher *Array;
createTeacher2(&Array,3);
for (i=0;i<3;i++)
{
printf("\nPlease inter age:");
scanf("%d",&Array[i].age);
}
printTeacher(Array,3);
sortTeacher(Array,3);
printTeacher(Array,3);
freeTeacher(Array);
system("pause");
return;
}
结构体做函数参数
最新推荐文章于 2024-12-24 19:54:20 发布