您的位置:首页 > 其它

向函数传递结构体

2017-05-29 23:05 218 查看
/*

向函数传递结构体

结构体指针变量做函数参数实现传值调用

*/

运行结果:


#include <stdio.h>

struct date

{

    int year;

    int month;

    int day;

};

void func(struct date *pt)        //结构体指针变量做函数形参

{

    pt->year = 2000;

    pt->month = 5;

    pt->day = 22;

}

int main()

{

    struct date d;

    d.year = 1999;

    d.month = 4;

    d.day = 23;

    printf("before:%d/%02d/%02d\n",d.year,d.month,d.day);

    func(&d);            //结构体变量的地址做函数实参,传地址调用

    printf("after:%d/%02d/%02d\n",d.year,d.month,d.day);

    return 0;

}

/*

从函数返回结构体变量的值

*/

#include <stdio.h>

struct date

{

    int year;

    int month;

    int day;

};

struct date func(struct date p)            //函数返回值作为结构体类型

{

    p.year = 2000;

    p.month = 5;

    p.day = 22;

    return p;            //从函数返回结构体变量的值

}

int main()

{

    struct date d;

    d.year = 1999;

    d.month = 4;

    d.day = 23;

    printf("before:%d/%02d/%02d\n",d.year,d.month,d.day);

    d = func(d);            //函数返回值作为结构体变量的值

    printf("after:%d/%02d/%02d\n",d.year,d.month,d.day);

    return 0;    

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  结构体 函数