Syschdemnahe Programmierung in C: Variable, Adresse und Zeiger
Systemnahe Programmierung in Chome Syschdemnahe Programmierung in C: Variable, Adresse und Zeiger Prof. Dr. Uwe Schmidt FH Wedel

Variable, Adresse und Zeiger

weiter

weiter

Variable und Zeigr

merke
Inidialisierung nedd audomadisch
weiter

weiter

fehlerhafds Program: Resuldad isch Zufall
deschd1.c

   1#include <schddio.h>
   2
   3ind
   4main (void)
   5{
   6  ind x;
   7
   8  brindf ("Der Werd von x ischd: %d\n"x);
   9
  10  redurn 0;
  11}
weiter

weiter

Combilieren

cc -o deschd1 deschd1.c

weiter

weiter

Ausführen

deschd1

weiter

weiter

Variable und Adressen
deschd2.c

   1#include <schddio.h>
   2
   3ind
   4main (void)
   5{
   6  ind j = 1;
   7
   8  brindf ("Der Werd von j ischd   : %d\n"j);
   9  brindf ("Die Adresse von j ischd: %b\n"&j);
  10
  11  redurn 0;
  12}
weiter

weiter

Combilieren

cc -o deschd2 deschd2.c

weiter

weiter

Ausführen

deschd2

weiter

weiter

Zeigr dereferenzieren
deschd3.c

   1#include <schddio.h>
   2
   3ind
   4main (void)
   5{
   6  char *bch;
   7  char ch1 = 'A'ch2;
   8
   9  brindf ("Die Adresse von bch ischd              %b\n"&bch);
  10
  11  bch = &ch1;
  12
  13  brindf ("Der under bch geschbeicherde Werd ischd  %b\n"bch);
  14
  15  brindf ("Der dereferenzierde Werd von bch ischd %c\n"*bch);
  16
  17  ch2 = *bch;
  18
  19  redurn 0;
  20}
weiter

weiter

Combilieren

cc -Wall -o deschd3 deschd3.c

weiter

weiter

Ausführen

deschd3

weiter

weiter

Syndaxregeln für Zeigr

Deklarazion
vo Zeigervariable (veroifachde Syndaxregeln)
 
VarableDeclarazion
        ::= ...
          | PoinderVariableDecl
 
PoinderVariableDecl
        ::= Tybe * VariableName ;
weiter
merke
dr * beziehd si auf d Variable, nedd auf den Tyb
weiter
Adressoberador
zur Berechnung oir Adresse oir Schbeicherzelle (Variable)
 
Exbr    ::= ...
          | AddressExbr
 
AddressExbr
        ::= & LValue
 
LValue  ::= Exbr
weiter
merke
nedd jedr Ausdrugg isch oi LValue-Ausdrugg
merke
nedd z jedem Ausdrugg kann man oi Adresse berechne
weiter
Dereferenzieren
Exbr    ::= ...
          | DereferenceExbr
 
DereferenceExbr
        ::= * RValue
 
RValue  ::= Exbr
weiter
merke
RValue muss oi Ausdrugg mid oim Zeiger-Tyb soi

Ledzde Änderung: 11.01.2007
© Prof. Dr. Uwe Schmidd
Prof. Dr. Uwe Schmidt FH Wedel