结构体指针变量做参数
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
结构体指针变量做参数在实际的应用中非常多,它能方便我们使用结构体。我们还是依据我们定义过的song结构体来举个例子,说明如何使用结构体指针变量做参数。
#include <stdio.h>
/*我们将结构体date和song都定义成全局变量,所有函数都可以使用*/
struct date{
int year;
int month;
int day;
};
struct song{
char title[64];
char artist[32];
int time;
struct date published;
} songs[3] =
{{"红豆","王菲",180,{2013 ,03 ,26}},
{"我的歌声里","曲婉婷",180,{2013,03,26}},
{"因为爱情","王菲",180,{2013,03,26}}};
void printsong(struct song *);
//声明一个打印歌曲的函数
int main()
{
struct song *ps = &songs[1];
//将ps指向songs的第一个元素
printsong(ps);
//调用printsong函数,将ps指向的歌曲信息打印出来
return 0;
}
void printsong(struct song *song1)
{
printf("我们来打印歌曲的一些信息\n");
printf("歌名:%s\n",song1->title);
printf("歌手:%s\n",song1->artist);
printf("播放时间:%d\n",song1->time);
printf("出版时间-年:%d,月:%d,日:%d\n",
song1->published.year,
song1->published.month,
song1->published.day);
}
运行上面的函数,体会结构体指针变量做参数的便捷性。
在线练习
{$ activeFileHint $}