Thema indholdsfortegnelse -- Tastaturgenvej: 'u'  Forrige tema i denne lektion -- Tastaturgenvej: 'p'  Næste slide i denne lektion -- Tastaturgenvej: 'n'Kontrolstrukturer
7.  Sammensætning af kommandoer

Af hensyn til en ren strukturering efter sammensætning, udvælgelse og gentagelse har vi her et kort afsnit om sammensætning af flere kommandoer til én helhedskommando - blokke.

7.1 Sammensætning
 

7.1.  Sammensætning
Indhold   Op Forrige Næste   Slide Aggregerede slides    Stikord Programindeks Opgaveindeks 

Vi bruger ofte betegnelsen blokke for en sammensætning af kommandoer til én kommando. I en blok af kommandoer kan vi endvidere frit erklære variable. Vi foretrækker dog at variable introduceres i starten af blokken, altså før den første kommando.

En sammensat kommando, også kaldet en blok, er en gruppering af kommandoer til én kommando, hvori der i starten kan forekomme erklæringer af variable

Bestanddelene i en sammensat kommando indhegnes af 'tuborg klammer':


{declaration-or-command-list}
Syntaks 7.1    En blok

Det er ofte nødvendig at bruge sammensatte kommandoer, nemlig på pladser hvor kun én enkelt kommando er tilladt. Dette er f.eks. tilfældet for kroppene af if-else og while, som vi ser på i hhv. afsnit 8.1 og afsnit 9.1.

Blokke er ofte nødvendige i forbindelse med udvælgende og gentagende kontrolstrukturer i C.

Blokke kan indlejres i hinanden.

Vi viser herunder et eksempel på indlejring af blokke i hinanden. Den yderste blok er en fast bestanddel af main funktionen. I afsnit 20.1 nærmere betegnet program 20.1, vender vi tilbage til det faktum, at de samme navne a, b og c erklæres i de indlejrede blokke.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>

int main(void) {  

  int a = 5, b = 7, c;

  c = a + b;

  { 
    int a = 15, b = 17, c;

    {
      int a = 25, b = 27, c;
      c = a + b;  
      printf("Inner: c er %d\n", c);
    }

    c = a + b;  
    printf("Middle: c er %d\n", c);
  }   

  c = a + b;  
  printf("Outer: c er %d\n", c);
  
  return 0;
}
Program 7.1    Tre indlejrede blokke med lokale erklæringer af heltal.

Genereret: Onsdag 7. Juli 2010, 15:10:23
Thema indholdsfortegnelse -- Tastaturgenvej: 'u'  Forrige tema i denne lektion -- Tastaturgenvej: 'p'  Næste slide i denne lektion -- Tastaturgenvej: 'n'