C语言指针实现多返回值函数调用教程(浙大)

通过指针传回多个返回值的函数写法,在 C 语言里还挺常见的,尤其是你想从一个函数里带出两个甚至更多结果的时候。像这篇浙大的小教程,讲得就比较清楚,用month_day函数把年和某年第几天转成“年-月-日”的格式,挺适合新手练手的。

通过*pmonth*pday两个指针参数,把函数内部算出的月份和日期传回去,思路不难,重点是你得理解:指针可以改掉外部变量的值。如果你刚接触指针,这种用法就蛮值得敲一敲。

下面是核心代码片段:

void month_day(int year, int yearday, int *pmonth, int *pday) {
  // ...内部逻辑...
  *pmonth = 3;
  *pday = 1;
}

main函数里调用的时候,把&month&day传进去,执行完后monthday就有值了。嗯,这就是通过函数“返回多个值”的一个常规套路

如果你还不太熟练指针,建议看看相关的扩展,比如返回指针类型值的函数设计,或者去翻下“参数与返回值”的关系也不错,链接在这:参数与返回值的意义

如果你在写 C 语言项目,刚好有类似的需求——函数里想输出多个结果,不如就用指针方式试试,代码简单又直观,还挺实用的。

ppt 文件大小:4.31MB