Привет всем!Я начинающий программист и мне нужна помощь с указателями.Вот что я пытаюсь сделать: у меня есть два аргумента-указателя на функцию (вызывающую функцию), скажем, arg1 и arg2.Теперь я хочу манипулировать этими указателями внутри какой-то другой функции, скажем, func, чтобы изменения отражались в вызывающей стороне, откуда был вызван func.Однако прямо сейчас изменение, которое я делаю в функции, отменяется в вызывающей функции.Вот исходный код:
func(node* arg1, node* argv2)
{
node* point3 = (struct node*) malloc(struct node);
arg2 = arg1;
arg 1 = point3;
}
caller(node* argv1, node* argv2)
{
func(arg1, arg2);
}
Теперь я знаю, что это можно сделать, используя методику передачи по ссылке.Но для этого функция становится func(node** arg, node** arg2)
, и я не хочу вдаваться в двойные указатели.Я больше думал о том, как массив при манипулировании или изменении в функции изменяется для всех функций в программе.Пожалуйста, помогите мне!