www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Softwaretechnik und Programmierung" - Pointer und Felder
Pointer und Felder < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Pointer und Felder: Erklärung
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 17:34 Mo 26.05.2008
Autor: bjoern.g

Aufgabe
#include <stdio.h>
struct {
int *pElement1;
int *pElement2; } Elemente1, Elemente2;
int main()
{
int i, k=0, *j;
int eFeld[3][3];
for (i=2; i>=0; --i)
for (j=eFeld[i]+2; j>=eFeld[i]; --j, ++k)
*j = i+k;

printf("%d %d %d %d ", eFeld[0][0],eFeld[1][1],eFeld[2][2] , **eFeld);

Elemente1.pElement1 = eFeld[0];
Elemente1.pElement2 = eFeld[1];
Elemente2= Elemente1;
Elemente2.pElement2 = &eFeld[2][0];

printf("%d %d %d,  Elemente1.pElement1[1],Elemente2.pElement1[0],Elemente2.pElement2[2]);


for (i=0; i<6; ++i)
Elemente1.pElement2[i] = Elemente2.pElement1[i]+i;

printf("%d %d [mm] %d\n", [/mm] Elemente1.pElement1[2],Elemente1.pElement2[2],Elemente2.pElement2[2]);

return 0;
}

Hi habe mit Pointer noch massiv Probleme und haben jetzt eine Übungsaufgabe gestellt bekommen mit der ich leider nicht so klar komme !

Ich verstehe die 1. for schleife nicht so

int main()
{
int i, k=0, *j;
int eFeld[3][3];
for (i=2; i>=0; --i)
for (j=eFeld[i]+2; j>=eFeld[i]; --j, ++k)
*j = i+k;
}

was bewirkt denn das --j ? die 1. for schleife ist ja klar aber ich verstehe das nicht so ganz in dem feld steht ja noch gar nix drin?! was wird denn da erniedrigt? und wo wird das *j=i+k zugwiesen

bin wirklich dankbar für hilfe !

        
Bezug
Pointer und Felder: Antwort
Status: (Antwort) fertig Status 
Datum: 17:26 Di 27.05.2008
Autor: nikito

hi bjoern,

hast du das abgetippt oder reincopiert? Da fehlen einige Klammern und andere Zeichen. Hast du das mal versucht zu kompilieren? Denn soweit ich weiß kennt C keine default Values für Arrays. Was ist denn die Aufgabe? Sollt ihr vielleicht die Fehler finden *g*. Also "--j" bedeutet das j dekrementiert wird. Und zwar pre-dekrement.

Beispiel:
int j=5;
int x;
int x = --j;

dann hat x den Wert 4 und j den Wert 4,  wohingegen bei

int x = j--;

x den Wert 5 und j den Wert 4 hat.



Bezug
                
Bezug
Pointer und Felder: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 00:10 So 01.06.2008
Autor: bjoern.g

hm habs einigermaßen gelöst!

aber klammern fehlen da keine weis nicht was du meinst....

ist auch kopiert ! also das programm stimmt schon so

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]