Stromschlumpf
Cadet 1st Year
- Registriert
- Juni 2017
- Beiträge
- 13
Hi, hab eine Hausaufgabe zu erstellen in der ein array Strukturen mit 3 Daten speichert. Die Größe des Array soll per Eingabe bestimmt und mit malloc gesetzt werden. Mein Problem ist, dass mein Array immer die Größe 4 hat, egal was ich eingebe ... kann mir jemand sagen wo der Fehler ist?
#include <stdio.h>
#include <stdlib.h>
struct exam
{
float mark;
int exId,maNum;
};
int main()
{
int n,i;
struct exam *marks;
printf("how many files shell be stored? ");
scanf("%d",&n);
marks =malloc(n * sizeof(int));
if(n <= 0)
{
printf("\nYou do not want to enter any data.");
return 0;
}
printf("\nsize of array: %d",n);
printf("\nsize of array: %d",sizeof(marks)); //gibt immer 4 an
/*for(i = 0; i < n; i++)
{
printf("\nEnter the %d files data.",i+1);
printf("\nMark: ");
scanf("%f",&marks.mark);
printf("\nExam ID: ");
scanf("%d",&marks.exId);
printf("\nMatriculation number: ");
scanf("%d",&marks.maNum);
}*/
return 0;
}
#include <stdio.h>
#include <stdlib.h>
struct exam
{
float mark;
int exId,maNum;
};
int main()
{
int n,i;
struct exam *marks;
printf("how many files shell be stored? ");
scanf("%d",&n);
marks =malloc(n * sizeof(int));
if(n <= 0)
{
printf("\nYou do not want to enter any data.");
return 0;
}
printf("\nsize of array: %d",n);
printf("\nsize of array: %d",sizeof(marks)); //gibt immer 4 an
/*for(i = 0; i < n; i++)
{
printf("\nEnter the %d files data.",i+1);
printf("\nMark: ");
scanf("%f",&marks.mark);
printf("\nExam ID: ");
scanf("%d",&marks.exId);
printf("\nMatriculation number: ");
scanf("%d",&marks.maNum);
}*/
return 0;
}