Citat:
Ursprungligen postat av
beltramo
Väldigt onödigt att använda rand() som har en entropy på 2 ^ 16. Läs /dev/random istället.
För det första är det ju intressant att du verkar länka till fel postning - du skriver ett svar och citerar iKnugen när du ju faktiskt kommenterar TorrentLover's ursprungspostning.
Detta är nu relevant, eftersom TS ju faktiskt explicit skrev om /dev/random:
Citat:
Alternativt skulle man kunna läsa från /dev/random. Problemet här är då att programmet inte kommer att fungera på Windows, utan bara på Linux, OS X och annan *NIX.
I detta fall framgår inte om TS behöver någon större kvalité på sina slumptal.
Citat:
Following is the declaration for abs() function.
int abs(int x)
Varför deklarerar du den som pointer? Helt onödigt..
Ser att du missade att förstå intentionen.
TS intention var att låta malloc() producera någon form av semi-random integer i form av den adress som den producerar vid en allokering. Så det intresanta är inte att abs() tar en integer-parameter, utan att pekaren malloc() returnerar i realiteten är ett integerresultat.
Skall man notera någonting så är det att malloc() producerar alldeles urusla integer för just denna användning eftersom malloc() producerar minnesblock med bra align som ju då innebär att de lägsta bitarna i adressen alltid är nollade. Samt att man kan anropa malloc()/free() många gånger och få samma svar tillbaka eftersom heapen är lokal för programmet.