Ponteiros em Linguagem C

Neste post vamos ver um exemplo de como usar ponteiros em Lingaugem C. Ponteiros apontam para endereços de memória.

No vídeo abaixo são mostrados os códigos apresentados no post:

Códigos

Como exemplo de uso de ponteiros, vamos supor que desejamos criar uma função que some 10 a um determinado valor. Para isso implementamos o seguinte código em Linguagem C:

#include <stdio.h>

void soma (int a) {
        a = a + 10;
}

int main() {
        int x = 30;

        soma(x);

        printf ("O valor de x = %d", x);

        return 0;
}

Criamos a função soma, que recebe como parâmetro um valor inteiro, e dentro da função soma 10 ao valor recebido. Quando compilamos e executamos o nosso código, é esperado que o valor de x passe de 30 para 40, uma vez que dentro da função principal é chamado a função soma que recebe como parâmetro o valor de x.

Entretanto, quando rodamos o nosso código, observamos que o valor retornado é 30 e não 40, o que acontece é que a função não retorna nenhum valor e não soma 10 ao valor de x.

Então como podemos fazer com que a função soma some 10 ao valor de x sem retornar nenhum valor?

Para isso podemos usar ponteiros em Linguagem C. Ponteiros apontam para endereços de memória.

Abaixo é apresentado o código usando ponteiros:

#include <stdio.h>

void soma (int *a) {
        *a = *a + 10;
}

int main() {
        int x = 30;

        soma(&x);

        printf ("O valor de x = %d", x);

        return 0;
}

Após compilar e executar o código acima, será somado 10 ao valor de x.

Conclusão

Neste post vimos ponteiros em Linguagem C, e vimos como podemos utilizá-los para manipular dados na memória. É importante tomar cuidado ao usar ponteiros em Linguagem C, pois quando o código se torna muito grande e se usa muitos ponteiros isso pode criar erros e bugs difíceis de se resolver.

Isso é tudo e até o próximo post.