Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.

1/1

Zdrojové soubory z výuky

Na této stránce jsou k dispozici zdrojové soubory, které jsem vytvářel při výkladu během výuky. Nejsou to ukázkové a bezchybné zdrojové soubory. Ba naopak, jsou to pracovní neučesané verze, které vznikaly interaktivně ve výuce, často s cílem ukázat, že "takto se to nemá".

20101215-Wed-ukazatele.c
   1 /*
   2  * Soubor:  20101215-Wed-ukazatele.c
   3  * Datum:   15.12.2010 13:12
   4  * Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
   5  * Licence: GNU/GPL 
   6  * Úloha:  Demonstrace práce s ukazateli
   7  */
   8 
   9 #include <stdio.h>
  10 #include <stdbool.h>
  11 
  12 /////////////////////////////////////////////////////
  13 
  14 int vymen(int *x,int *y)
  15 {
  16     int tmp = *x;
  17     *x = *y;
  18     *y =tmp;
  19 }
  20 /**
  21  * Hlavní program.
  22  */
  23 int main(void) {
  24     /* a, b jsou statické proměnné */
  25     int a;
  26     int b;
  27     /* p je ukazatel (pointer) na integer */
  28     int *p;
  29     
  30     a = 10;
  31     p = &a; /* amresand vydá adresu proměnné a,
  32     v p je nyní uložena adresa a */
  33     printf("adresa a:%p\n",(void *) p);
  34     b = *p ;  /* nepracuji s p, ale s pamětí na kterou p ukazuje */
  35     printf("%d %d\n", a, b);  // a==10, b==10
  36 
  37     *p = 391; /* a==391, b==10 */
  38     printf("%d %d\n", a, b);
  39 
  40     vymen(&a,&b);
  41     printf("%d %d\n", a, b);
  42 
  43     scanf("%d %d",&a,&b);
  44     scanf("%d %d",&a,&b);
  45     printf("%d %d\n", a, b);
  46 
  47     return 0;
  48 }
`--> stáhnout

Licence Creative Commons Valid XHTML 1.0 Strict Valid CSS! Antispam.er.cz Blog: Tlapicka.net