我正在尝试修改几个函数以返回结构类型而不更改所有值。具体来说,我正在尝试以各种方式调整图像大小并返回新图像的尺寸。我有一个名为“picspec”的结构,其中包含 netpbm 图片文件的标题信息(宽度、高度、最大颜色值和表示格式的数字 1-6)。
一些图片编辑可能需要修改所有这四个(元素?结构的一部分),但许多只会影响其中的一部分,在这些情况下最好保持原始值不变。我的第一个直觉是用以下方式结束函数:
picspec newinfo = {newx, newy, void, void};
return newinfo;
...而且我对编译器错误并不感到特别惊讶。
注意:我意识到我可以通过将旧的“picspec”作为参数传递来轻松解决这个特定问题,但是“保持当前值”命令在其他情况下可能非常有用。我(目前非常有限)对指针的了解使我认为它可以做到,但我在搜索它方面并没有取得太大的成功。(“指向自我”教会了我所有关于链表的知识,但这不是我的想法。)
是否有“保持当前价值”的机制或类似简洁的方式来实现相同的目标?如果没有,最实用的选择是什么?