Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se
0
respostas

Ponteiros

Há um trecho da aula que o professor está fazendo a função praondeofantasmavai e ele fala que o "ponteiro xdestino" = opcoes[posicao][0] e o análogo é feito para ydestino. A minha dúvida é: poderia usar "ponteiro xdestino" = &opcoes[posicao][0], passando assim o endereço?

Desta forma que ele usou estamos passando o valor que está dentro desse endereço?

int praondeofantasmavai(int xatual, int yatual, int* xdestino, int* ydestino){

    int opcoes[4][2] = {
        {xatual, yatual+1},
        {xatual+1, yatual},
        {xatual, yatual-1},
        {xatual-1, yatual}
    };

    (. . .)
    (. . .)

        if (verificalimitemapa(&m, opcoes[posicao][0], opcoes[posicao][1]) 
            && posicaovaziamapa (&m, opcoes[posicao][0], opcoes[posicao][1])) {

            *xdestino = opcoes[posicao][0];
            *ydestino = opcoes[posicao][1];
            return 1;
        }
    }

Tenho também outra dúvida: poderia ser feito desta forma abaixo ao invés da de cima? O computador saberia que xdestino é ponteiro?

xdestino = opcoes[posicao][0]

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software