Zeiger auf Array
-
hi, meine Aufgabe lautet:
Implementieren Sie ein Programm für die Arbeit mit eindimensionalen Feldern, das folgende Funktionen enthält und mit mindestens 2 Feldern testet:
init - belegt die Feldelemente mit nicht ganzzahligen Zufallszahlen. Eingabeparameter sind die Anzahl der Feldelemente und die Adresse des Feldes, kein Rückgabewert!
aja soll auch irgendwie mit call of reference gemacht werden...
nur irgendwie bekomm ich ein stapelfehler... woran liegt das??
mein code:
#include <stdio.h> void init(double* array, int a) { int i; for(i = 0; i < a; i++) { *(array + i) = rand(); } } int main() { int n; printf("Geben Sie die Anzahl der Elemente fuers erste Feld ein: "); scanf("%i", n); double feld[n]; init(feld, n); //übergibt addi und anzahl der elemente getchar(); getchar(); }
-
Tip: Sieh dir deinen scanf() Aufruf genauer an.
Kurt
-
edit: too slow
Btw. es heißt call by reference
-
EDIT: Hat sich erledigt
-
*g* Wir editieren uns hier noch die Argumente weg
-
danke ZuK
lol war echt ein doofer fehler..
aber ist das jetzt call by reference?!
ich hab keine ahnung
-
Ja, das ist es.
Im Übrigen sollte main etwas zurückgeben...
-
*(array + i) /* ist gleichbedeutend mit */ array[i] /* es hat so zu heissen: */ int main(void) {...} /* ein return in der main() ist freiwillig, wird aber waermstens empfohlen... */
-
oki danke schön !!!!!!
-
Hi wie macht man nen Pointer auf ein mehrdeminsionales feld?
also dass ne zufallzahl zum beispiel in pointer feld[3][6] gespeichert wird?
-
Ania87 schrieb:
double feld[n];
Ich kann mir nicht helfen. Aber so dürfte das ohnehin nicht klappen? Das Ding dürfte dir nich mal compilieren...?
-
junix schrieb:
Ania87 schrieb:
double feld[n];
Ich kann mir nicht helfen. Aber so dürfte das ohnehin nicht klappen? Das Ding dürfte dir nich mal compilieren...?
C99
-
Hi wie macht man nen Pointer auf ein mehrdeminsionales feld?
also dass ne zufallzahl zum beispiel in pointer feld[3][6] gespeichert wird?
-
int feld[10][20];
feld[3][6] = rand();
okay so?
-
stichwort schrieb:
junix schrieb:
Ania87 schrieb:
double feld[n];
Ich kann mir nicht helfen. Aber so dürfte das ohnehin nicht klappen? Das Ding dürfte dir nich mal compilieren...?
C99
Ach... C99 kann mit Arraydeklarationen mit einer nicht konstanten ANzahl von Elementen umgehen?!? das ist ja mal was spannendes...
-
Jo, nennt sich dann VLA (Variable Length Array).