Tackleberry
Mitglied
Hi,
folgendes Problem bei Pointern:
Mein Programm funktioniert mit
wunderbar...
Kann ich aber auch irgendwie mit
arbeiten oder ist das Blödsinn (besonders das *zf[10])?
Es geht darum das wir "call by reference" anwenden sollen, was dann so ausschaut:
Meine Komilitonen basteln nämlich die ganze Zeit irgendwas mit float *zf[10]; nerven mich aber damit das ihr Programm nicht funktioniert. Ich war während der Übung irgendwie auch mit anderem beschäftigt, während der nette Herr Pointer erklärt hatte...
folgendes Problem bei Pointern:
Mein Programm funktioniert mit
Code:
float f[10];
float *zf;
zf=f;
wunderbar...
Kann ich aber auch irgendwie mit
Code:
float f[10];
float *zf[10];
arbeiten oder ist das Blödsinn (besonders das *zf[10])?
Code:
*zf[10] = f[10] wäre ja eher eine Wertzuweisung oder?
Es geht darum das wir "call by reference" anwenden sollen, was dann so ausschaut:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
float summe(int anzahl, float feld[])// feld[]:Uebergabe des Feldes
{ float s=0;
int i;
for (i=0; i<anzahl; i++)
s+=feld[i];
return s;
}
int main()
{
float f[10];
float *zf;
zf = f;
int i;
float ergebnis;
srand(time(0));
for (i = 0; i < 10; i++) {
f[i]=rand()%100;
printf("i: %i - f = %f\n", i, f[i]);
}
ergebnis = summe(i, zf);
printf("Summe: %f\n", ergebnis);
// Zusaetzlich: Funktion summe erweitern:
// groesste Zahl bestimmen
system("Pause");
return 0;
}
Meine Komilitonen basteln nämlich die ganze Zeit irgendwas mit float *zf[10]; nerven mich aber damit das ihr Programm nicht funktioniert. Ich war während der Übung irgendwie auch mit anderem beschäftigt, während der nette Herr Pointer erklärt hatte...