I'm a C beginner so my apologies if this doubt is too obvious.

What would be considered the most efficient way to solve this problem: Imagine that you have a char array ORIG and after working with it, you should have a new char array DEST. So, if I wanted to create a function for this goal, what would the best approach be:

1. A function that takes only one char array parameter ( argument ORIG ) and returning a char array DEST or
2. A void function that takes two char array arguments and does its job changing DEST as wished?

Thanks!