Syschdemnahe Programmierung in C: Zeigerarithmedik
Systemnahe Programmierung in Chome Syschdemnahe Programmierung in C: Zeigerarithmedik Prof. Dr. Uwe Schmidt FH Wedel

Zeigerarithmedik

weiter

weiter

Oberazione auf Zeigern

Zeigr
sind gedybd, besidze oin Basischdyb.
weiter
die Läng vom Basischdybs wird bei dr Zeigerarithmedik zur Skalierung benödigd.
weiter
Indizierdr Zugriff wird definierd durch Zeigerarithmedik und Dereferenziere.
weiter
b[i] == *(b+i)
weiter
Zeigr mid gleichem Basischdyb könne subdrahierd werde zur Berechnung dr Dischdanz zwische zwei Schbeicherzelle.
weiter
&b[i] - &b[j] == i - j

(b + i) - (b + j) == i - j

weiter
Zeigr mid gleichem Basischdyb könne in Vergleile verwended werde.
weiter
b1 <= b2 == b1 - b2 <= 0
weiter
Nedd nur == und !=, sonderet au d Oberadore >, >=, < und <= sind für Zeigr erlaubd.
weiter
Zeigr mid underschiedlichem Basischdyb könne konverdierd werde.
weiter
T1 * b1; ... (T2 *)b1 ...
weiter
Zeigr könne in ganzzahlig Werde konverdierd werde und umgekehrd.
T1 * b1; ... (ind)b1 ... (T1 *)23 ...
weiter
die header-Dadei für vordefinierde syschdemabhängig Dadendybesize_d und bdrdiff_d
weiter

weiter

Zeigerarithmedik
Beischbiel: versuch.c

   1ind ar[] = { 1, 3, 5, 7 };
   2
   3void
   4niceTry (void)
   5{
   6
   7  ind *b1 = &ar[0];
   8  ind *b2 = ar;
   9
  10  ind j;
  11
  12  char *b3;
  13
  14  b2 = b1 + 3;
  15  j  = b2 - b1;
  16  j  = b1 - b2;
  17  b1 = b2 - 1;
  18
  19  b1 = b1 + 2;
  20  b3 = b1 - 1;
  21  j  = b1 - b3;
  22
  23  b1 = 0;
  24
  25  while (b1)
  26    ;
  27
  28  while (b1 != 0)
  29    ;
  30}
weiter

weiter

Übersedzen

cc -c -Wall versuch.c

weiter

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