Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
1/1
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á".
1 /*
2 * Soubor: structury.c
3 * Datum: 28.03.2011 09:36
4 * Autor: Marek Nožka, nozka <@t> spseol <d.t> cz
5 * Licence: GNU/GPL
6 * Úloha:
7 * Popis:
8 ****************************************************/
9 #define _ISOC99_SOURCE
10 #define _GNU_SOURCE
11 #include <stdio.h>
12 #include <stdbool.h>
13 #include <string.h>
14 #include <stdlib.h>
15
16
17 /* *************** Makra ******************** */
18 #define ARREYC 1024
19
20 /* *************** Funkce ******************** */
21
22
23 /****************************************************
24 * Hlavní program.
25 ****************************************************/
26 int main(void) {
27
28 typedef struct clovek {
29 char jmeno[20];
30 float prumer;
31 int vek;
32 struct clovek *dalsi;
33 } CLOVEK;
34
35 CLOVEK *osoba = NULL;
36 CLOVEK *novybox = NULL;
37 CLOVEK *aktual = NULL;
38
39 int i = 0;
40 while (i++<4) {
41 novybox = (CLOVEK *) malloc(sizeof(CLOVEK));
42 (*novybox).prumer = (i+3)/2.0;
43 novybox->vek = i;
44 (*novybox).dalsi = osoba;
45 osoba = novybox;
46 }
47
48 aktual = osoba;
49 while ( aktual != NULL ) {
50 if ( (*aktual).vek == 2 )
51 printf("# %g \n", (*aktual).prumer);
52 aktual = aktual->dalsi;
53 }
54
55
56
57
58 return 0;
59 }