delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/10/17/11:37:51

From: flobere AT club-internet DOT fr
Newsgroups: comp.os.msdos.djgpp
Subject: Re: What's wrong with this code snippet ?
Date: Sun, 17 Oct 1999 15:01:50 +0200
Organization: Club-Internet (France)
Lines: 21
Message-ID: <3809C8BE.82C8A5F2@club-internet.fr>
References: <c6wJONRNMABaX1eVyyz+aTSlhqUz AT 4ax DOT com>
NNTP-Posting-Host: ppp-172-250.villette.club-internet.fr
Mime-Version: 1.0
X-Trace: front3m.grolier.fr 940165290 7372 195.36.172.250 (17 Oct 1999 13:01:30 GMT)
NNTP-Posting-Date: 17 Oct 1999 13:01:30 GMT
X-Mailer: Mozilla 4.6 [fr] (Win95; I)
X-Accept-Language: fr
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

> // Set each element of the kill list to 999
> void empty_kill_list(int *list)
> {
>   memset(list, 999, sizeof(int) * NUM_TILES);
> }

Hi,

Very simple...
the memset function prototype is :
memset(void *ptr, char c, unsigned long size)
The second arg is a CHAR. It means is in 8bits,
it also means you cannot go over 255 using memset.
That is why you cannot set your array to 999.
Memset is only useful when you need to initialize an
array to 0.
It is not much more slower to use a for loop. The
compiler will surely optimize it to a rep sto instructions.



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019