malloc problem

EDIT:
Hold your horses....:)
Hast du Speicher reserviert für summe?
Bitte erstmal nachdenken. Wieso sollte man wohl für Summe explizit Speicher reservieren müssen? :confused:

\edit: Summe ist eine automatische Variable, d.h. der Compiler reserviert den Speicher dafür automatisch.
Wenn nicht, dann versuchst du nämlich eine Adresse zu addieren und teilen, was natürlich kompletter Blödsinn wäre...
Das würde ja auch nicht kompiliert werden...

Gruß
 
Zuletzt bearbeitet:
ok jetzt komm ich durcheinander lol
sollte er nicht schon genügend speicher haben ist ja eine normale double variable oder
 
Ein weiterer Fehler den ich entdeckt habe ist, dass du auf den Inhalt eines Pointers nur mit folgender Syntax zugreifen kannst: *pointername, weil ansonsten versuchst du wieder nur mit der Adresse zu rechnen.

Hier mal ein kleiner Code, den ich dir als Beispiel geben möchte :
PHP:
int main()
{	int tage = 2, werte_pro_tag = 2;
	int i;
	double * pwerte;
	double * summe;
	summe = (double*)malloc(MAX * sizeof (double));
    pwerte = (double*)malloc (tage * werte_pro_tag * sizeof (double));
	(*summe) = 0;
	for (i = 0; i< 3; i++)
	{
		scanf("%lf", &pwerte[i]);
		printf ("%lf\n", pwerte[i]);
		*summe += pwerte[i];
	}
	*summe /= (double)i

	printf ("%lf ist das Ergebnis!!", *summe);
    getch();
	return 0;
}
 
Ein weiterer Fehler den ich entdeckt habe ist, dass du auf den Inhalt eines Pointers nur mit folgender Syntax zugreifen kannst: *pointername, weil ansonsten versuchst du wieder nur mit der Adresse zu rechnen.
Und wo willst du diesen Fehler entdeckt haben? :confused:

Warum sollte man den Speicher für die Variable summe dynamisch verwalten wollen? Und wozu allozierst du dort MAX * sizeof(double) Bytes Speicher?

Gruß

PS: @Manda: Bei printf gibt es keinen Formatstring %lf. Das gibt es nur bei scanf. Bei printf ist für double Variablen einfach %f (bzw. %g %e) zu verwenden.
 
Zuletzt bearbeitet:
Bitte erstmal nachdenken. Wieso sollte man wohl für Summe explizit Speicher reservieren müssen? :confused:

\edit: Summe ist eine automatische Variable, d.h. der Compiler reserviert den Speicher dafür automatisch.

Das würde ja auch nicht kompiliert werden...

Gruß

Nicht aber, wenn summe ein Pointer auf Datentyp ist (wovon ich ausgegegangen bin...)
 
Und wo willst du diesen Fehler entdeckt haben? :confused:

Warum sollte man den Speicher für die Variable summe dynamisch verwalten wollen?

Gruß

Wenn ich mir das so überlege ist das natürlich Schwachsinn.... aber wie gesagt, ich war der Meinung summe sei schon ein Pointer....

Sorry....
 
Uuups...
sorry, keine Absicht- wollte nur helfen! Gib dein Ergebnis einfach mal mit %lf aus!
 
Zuletzt bearbeitet:
@Bexx danke erstmal für den code....
ich mach mich gleich mal ran...

@deepthroat...sorry falls ich was falsches gesagt habe oder mich nich richtig ausgedrückt hab! war keine böse absicht!!
 
Zurück