-4
Ich habe ein Programm in c, die Malloc-Funktion verwendet. Code:Malloc-Funktion in c
#include<stdio.h>
#include<stdbool.h>
#include<malloc.h>
int main(){
int n;
int *ptr,i,sum;
sum = 0;
printf("Enter the number = ");
scanf("%d",&n);
ptr = (int *)(malloc(10));
for(i=0;i<n;i++){
scanf("%d",ptr+i);
sum += *(ptr+i);
}
printf("The sum of the numbers is = %i",sum);
}
I malloc-Funktion verwendet haben einen Speicher von 10 Bytes zuzuteilen .Wie es ist möglich, dass 10 Zahlen in 10 Bytes gespeichert werden ....
ganze Zahlen normalerweise 4 Bytes und Sie schreiben außerhalb der Grenzen – Pooya
* "Wie ist es möglich, dass 10 ganze Zahlen in 10 Bytes gespeichert werden ...." * Es ist nicht. –
müssen Sie die Größe des Datentyps hinzufügen: 'ptr = malloc (sizeof (int) * n);' – jboockmann