Я только начинаю с указателей, и я немного смущен. Я знаю, что & означает адрес переменной и что * может использоваться перед переменной указателя, чтобы получить значение объекта, на который указывает указатель. Но все работает по-разному, когда вы работаете с массивами, строками или когда вы вызываете функции с копией указателя переменной. Трудно увидеть схему логики внутри всего этого.
Когда следует использовать & и *?