多文件调用(函数、结构体)

main.m文件

int main(int argc, const char * argv[])

{

    struct student stu1;

    struct student stu2 = {"李四",16,98};//////extern

    struct student stu3 = {"王五",21,99};

    strcpy(stu1.name,"张三");

    stu1.age = 17;

    stu1.grade = 96.5;

    struct student *p = &stu1;

    strcpy((*p).name, "潘俊飞");

    strcpy(p->name, "郭刚");

    struct student array[3] = {stu1,stu2,stu3};

    int length = sizeof(array)/sizeof(struct student);

    printf("结构体数组的长度:%d\n",length);

    struct student *pstruct = array;

    pstruct = &array[0];

    (pstruct+1)->age = 30;

    //printf("%d\n",array[1].age);

    sortAge(pstruct,length);

    print(pstruct,length);

    return 0;

}

 

 

Funcation.h文件

struct student{

    char name[30];

    int age;

    float grade;

}stu1;

void sortAge(struct student *a,int count);

void print(struct student *a,int count);

 

Funcation.m文件

 

#import "Funcation.h"

 

//@implementation Funcation

//

//@end

 

void sortAge(struct student *p,int count){

    for (int i=0; i<count-1; i++) {

        for (int j=0; j<count-1-i; j++) {

            if (((p+j)->age)>((p+j+1)->age)) {

                struct student temp = *(p+j+1);

                *(p+j+1) = *(p+j);

                *(p+j) = temp;

            }

        }

    }

    

}

void print(struct student *a,int count){

    printf("学生信息列表:\n");

    for (int i=0; i<count; i++) {

        printf("%s\t%d\t%.2f\n",(a+i)->name,(a+i)->age,(a+i)->grade);

    }

}

posted @ 2015-04-17 15:10  看天下  阅读(346)  评论(0编辑  收藏  举报