So heute an der Universität ich dieses einfache Programm, wo wir die Höhen von n Zahl der Studenten an dem Eingang hatten und dann aus der Summe der Höhen drucken. Die Höhen wurden in einem Array gespeichert. Nun, das war einfach genug - aber wir haben das Problem mit einer festen Anzahl von Schülern angefangen, 5 in meinem Beispiel. Dann fragte ich den Professor, wie ich das Problem lösen würde, wenn die Anzahl der Studenten nicht bereits definiert wäre, und sie sagte mir, dass ich Listen und dynamische Array-Element-Zuweisung verwenden müsste. Das haben wir noch nicht erreicht, also bin ich hergekommen, um um Hilfe zu bitten, da ich daran interessiert bin, es so zu lösen.dynamische Speicherzuweisung für Arrays C
Könnte jemand mir erklären/erklären oder mir einige Richtlinien geben, wie ich das Problem angehen sollte. Hier ist, wie das Problem im Unterricht gelöst wurde.
#include <stdio.h>
#include <conio.h>
int main(){
int height[5], sum=0, i;
int numOfStudents=5;
float average;
for(i=0; i<numOfStudents; i++){
printf("Type in the height of the %d. student: ", i+1);
scanf("%d", &height[i]);
sum+=height[i];
}
printf("\n Sum of all heights is: %d. There were %d students", sum, numOfStudents);
return 0;
}
Blick in die 'malloc()' Funktion befindet sich in 'stdlib.h' können Sie' int * height' deklarieren und dann in einen Wert für 'n' und etwas tun, ähnlich wie' malloc (sizeof (int) * lesen n);. Lies doch die Funktion nach, damit du sie verstehst. – JackVanier
Warum fragst du das hier? Es gibt endlose Ressourcen, die Sie programmieren oder speziell C lehren, eines davon ist Ihr Lehrbuch. Wenn du lernen willst, mach es. – Amit
Und vergessen Sie nicht, '' 'free()' '' einmal aufzurufen, rufen Sie '' 'malloc()' '' –