На сколько знаю, что при передачи копии переменной в аргумент, то по факту она объявляется заново в аргументе, ей присваиватся копия значения. При использовании указателей вы просто передаете ссылку на область памяти, которая тоже присваевается переменной в аргументе, а вот насколько выгодно хранить переменную и указатель - нужно уже рвзбираться с опрд. кодом. У вас модет быть супер большая структура, которая занимается достаточно много места в памяти и передавать ей в качестве аргументв не особо выгодно, хотя без этого и не обойтись. В общем все завичит от логики программы, где то выгодно, где то нет, как вам ответил человек сверху.