ponteiros

mail@pastecode.io avatar
unknown
c_cpp
2 years ago
804 B
2
Indexable
Never
#include <stdio.h>

void incrementa(int *k, int x){

    *k = *k +5; // n = 12 + 5 = 17
    x = x +2;   // x = 11 + 2 = 13
}

int main(){

    int n = 5;
    int w = 10;

    int *p = NULL; // ponteiro não está apontando pra nada
    int *q = NULL;

    p = &n; // (& = espaço de memoria -> nesse caso), p apontando para endereço de memoria de n
    q = &w;

    *p = *q + 2; // "pra quem p aponta" recebe "pra quem q aponta + 2" nesse momento q é igual a 12 -> 10 + 2

    p = &w; // nesse momento p vale 10
    q = &n; // 12

    (*p)++; // pega o valor que ele está apontando e soma +1, nesse  caso, 10 + 1 = 11
    //p++;    // já aqui, p vale 12

    incrementa(&n, w); // & e * p retornar


    printf("%d\n", *p);
    printf("%d\n", *q);

    return 0;
}