Majme deklaráciu: int i, j, k, *p1, *p2 = &j; Vysvetlite význam jednotlivých príkazov (pre každý „riadok“ zvlášť 🙂).
p1 = &i;
scanf("%d", &i);
scanf("%d", p2);
*p1 = 22;
printf("%p %p %d\n", &p1, p1, *p1);
printf("%p %d \n", &j, j);
p2 = p1;
k = *p2 + 1;
p1 = NULL; |
Nech Koruna, Dolar, Euro sú ukazovatele na celočíselné premenné, ktorých hodnoty predstavujú stav nášho účtu v príslušnej mene (v miliónoch 🙂) Na začiatku platí:
*Koruna = 0, *Euro = 10, *Dolar = 20. Aký bude stav na jednotlivých účtoch po vykonaní nasledujúcej sekvencii „transakcií“? (pom je pomocný ukazovateľ rovnakého typu)
*Koruna = *Dolar;
*Euro = *Koruna;
*Dolar = *Dolar + 100;
pom = Euro;
Euro = Dolar;
Dolar = pom;
*Koruna = *Euro;
*pom = *Koruna + *Euro;
pom = NULL; |