Как я могу передать указатель на int внутри функции другой функции и манипулировать там in? - PullRequest
0 голосов
/ 03 февраля 2019
#include <stdio.h>

void testFunction(int *a){
    printf("In a should be 5: %d", *a);
    *a = 0;
    printf("In a should be 0: %d", *a);
    test2Function(&a);
}

void test2Function(int *a){
    printf("In F2 a should be 0: %d", *a);
    *a = 2;
    printf("In F2 a should be 2: %d", *a);
}

int main(){

    int a = 5;
    testFunction(&a);
    printf("In main() a should be 2: %d", a);


    return 0;
}

Как я могу отправить указатель из заданной функции внутри функции в другую функцию?Таким образом, все утверждения внутри кода выше верны

Текущий вывод:

In a should be 5: 5
In a should be 0: 0
In F2 a should be 0: 6422316
In F2 a should be 2: 2
In main() a should be 2: 0

1 Ответ

0 голосов
/ 03 февраля 2019

Вместо:

test2Function(&a);

Do:

test2Function(a);

Поскольку вы просто хотите скопировать уже имеющийся указатель, а не брать адрес самого указателя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...