Ir para conteúdo
Fórum Script Brasil
  • 0

Ponteiro


Henrique Neto

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

como assim inverter?? quer transofmrar 1234 em 4321 o quer trocar o valor do primero com o segundo pontero??

e o q exatametne você não sabe fazer??

pra declarar como pontero é assim:

void funcao(int* a, int* b)
{
/* codigo */
}[/code] e pra chamar é so passar o endereco da variavel assim:
[code]int x = 5, y = 10;

funcao(&x, &y);

Link para o comentário
Compartilhar em outros sites

  • 0

Ou usar o algoritmo XOR swap.

void xorSwap(int *x, int *y) {
    *x ^= *y;
    *y ^= *x;
    *x ^= *y;
}

Talvez, pela descrição seja exatamente isto que você quer (ou querem que você faça) fazer.

Porém, isto é somente recomendado em sistemas aonde a quantidade de memória é muito restrita. (Sistemas embarcados, por exemplo)

Em PC's simplesmente não vale a pena (fazer o XOR swap é mais demorado), melhor usar um buffer como o kuroi falou.

Abraços.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...