您的位置:首页 > 其它

结构体做函数参数2

2015-10-10 20:09 232 查看
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct Teacher
{
char name[64];
int age;
int id;
}Teacher;

void printTeacher(Teacher *array, int num)
{
int i = 0;
//打印老师年龄
for (i = 0; i < num; i++)
{
//printf("age:%d\n", array[i].age);
printf("age:%d\n", (*(array + i) ).age);
//(array++)->age;
}
}//(*(array+i)).age

void sortTeacher(Teacher *array,int num)
{
int i, j;
Teacher tmp;
for (i = 0; i < num;i++)
{
for (j = i; j < num;j++)
{
if (array[i].age<array[j].age)
{
tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
}
}

Teacher * createTeacher(int num)
{
Teacher * tmp = NULL;
tmp = (Teacher*)malloc(sizeof(Teacher)*num);    //    Teacher Array[3]
if (tmp == NULL)
{
return NULL;
}
}

void FreeTeacher(Teacher *p)
{
if (p!=NULL)
{
free(p);
}
}

int main()
{
int i = 0;
int num = 3;
//Teacher Array[3];    //在stack分配内存

Teacher *pArray = NULL;
pArray = createTeacher(num);

for (i = 0; i < num; i++)
{
printf("\nplease enter age:");
scanf("%d", &pArray[i].age);
}
printTeacher(pArray, num);
sortTeacher(pArray, num);
printf("排序后:\n");
printTeacher(pArray, num);
/*
printTeacher(Array, num);
sortTeacher(Array, num);
printf("排序后:\n");
printTeacher(Array, num);*/
FreeTeacher(pArray);
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: