Я немного запутался относительно того, как работают указатели прокрутки.
Скажем, у меня есть следующая функция и указатель, и...
ИЗМЕНИТЬ:
... Я хочу использовать указатель на какой-либо объект в качестве аргумента в функции.
то есть:.
void Fun(int Pointer){
int Fun_Ptr = ---Passed Pointer---;
//So that Fun_Ptr points to whatever ---Passed Pointer points to
Между обозначениями * Pointer и & Pointer, я очень смущен. Я знаю, что * Указатель означает дать то, на что он указывает.
Я помещаю void (int * pointer) в объявление. Что делать, когда я использую функцию?
Ваша помощь приветствуется.
ИЗМЕНИТЬ 2:
Хорошо, теперь я понимаю, что использование переменной * в объявлении означает, что будет передан указатель. Однако, как насчет того, когда я использую эту функцию?
то есть.
int main(){
int foo;
int *bar;
bar = foo;
Fun(bar);
}
ИЗМЕНИТЬ 3: Ладно, так исправьте меня, если я ошибаюсь:
В соответствии с соглашениями приведенного выше кода:
bar = & foo означает: Сделать точку бара в foo в памяти
* bar = foo означает изменение значения, которое балл указывает на равное значение foo равно
Если у меня есть второй указатель (int * oof), то:
bar = oof означает: bar указывает на указатель oof
bar = * oof означает: bar указывает на значение, которое указывает на точки, но не на собственный указатель
* bar = * oof означает: изменить значение, которое указывает бар, на значение, которое указывает на
& bar = & oof означает: изменить адрес памяти, который указывает на бар, таким же, как адрес памяти, который указывает на
Есть ли у меня это право?
EDIT 4: Большое спасибо за вашу помощь (я бы хотел принять более одного ответа, но мне нужно пойти с первым. Я не знаю, как работает wiki сообщества, но я оставлю это этот способ для редактирования (не стесняйтесь превращать его в справочник, если хотите).