Hallo Leute ich hab eine Frage bezüglich einer Hausübung C/C++?

... komplette Frage anzeigen

2 Antworten

Das U hinter der Zahl ist ein Literal für Ganzzahlen ohne Vorzeichen. Als Argument an malloc wird hier ein Produkt übergeben.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von JutenMorgen
11.11.2016, 18:34

Heisst das ich reserviere einen Speicher für unsigned int 3*1024*1024*1024 = 3221225472?

Das passt doch in einen UINT rein? Also sollte es keinen Fehler geben und somit einfach nur Speicher an einer mir unbekannten Stelle reserviert werden oder? 

0
Kommentar von JutenMorgen
11.11.2016, 19:12

Tausend dank euch dreien!!!

0

wenn ich richtig rechne

1.073.741.824 byte = 1,074 GB > 515MB
3.221.225.472 byte = 3,221 GB > 1GB

somit gibt es NULL zurück , was wohl 0x00 sein soll , ergo

es konnte kein speicher bereitgestellt werden weil der speicher  in beiden Fällen zu klein ist .


Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?