AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[C] Pointeroperationen in C

Ein Thema von Hador · begonnen am 15. Nov 2008 · letzter Beitrag vom 26. Nov 2008
 
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#1

[C] Pointeroperationen in C

  Alt 15. Nov 2008, 14:09
Hallo zusammen,
ich sitze hier gerade an einer Übung für meinen C-Kurs. Als Aufgabe haben wir ein paar Variablen gegeben und diverse Zuweisungen und sollen mit Begründung sagen warum das ganze nicht funktioniert. Zunächst einmal habe ich das ganze kurzerhand in ein Programm geschrieben und durch den Compiler gejagt um zu sehen, was geht und was nicht. Einiges kann ich mir auch erklären, jedoch sind mir ein paar Stellen noch schleierhaft. In der Hoffung, das sich hier auch ein paar C-Programmierer tummeln:
Code:
[...]
int main(void) {
   int feld[1];
   int i;
   int *p;
   int *p1;
   int *p2;

   p = feld; /* Funktioniert, da feld ein Pointer auf das erste Arrayelement ist und es sich um ein Integerarray handelt */
   /* feld = p; */ /* Funktioniert nicht, da p nicht zwangsläufig auf ein Integerarray zeigt (Aber auf einen int und das wäre ja das selbe, wie ein einelementiges Array, oder?) */

   p = &feld[3]; /* der &-Operator liefert einen Pointer auf das vierte Arrayelement zurück */
   feld[2] = p[5]; /* p[5] liefert den um fünf mal Integergröße veschobenen Pointer zurück */

   p1 = p2 + i; /* Der Zeiger wird um einen Integerwert verschoben */
   p1 = i + p2; /* Auch hier wird der Zeiger verschoben */

   /* Bei folgenden Zuweisungen bin ich mir recht unsicher: */
   /* i = p1 * p2; */ /* Funktioniert nicht, da der *-Operator nicht für zwei Pointer definiert ist */
   i = p1 - p2; /* Wieso ist - denn für zwei Pointer definiert? */
   /* i = p1 + p2; */ /* Funktioniert nicht, da der *-Operator nicht für zwei Pointer definiert ist */

   [...]
}
Ich habe meine Erklärungen bzw. Fragen mal hinter die jeweiligen Zuweisungen geschrieben und hoffe, dass ihr mir etwas weiterhelfen könnt.

Gruß Lars
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz