From: eplmst AT lu DOT erisoft DOT se (Martin Stromberg) Newsgroups: comp.os.msdos.djgpp Subject: Re: What's wrong with this code snippet ? Date: 17 Oct 1999 13:51:36 GMT Organization: Ericsson Erisoft AB, Sweden Lines: 31 Message-ID: <7uck98$sp4$2@antares.lu.erisoft.se> References: <3809C8BE DOT 82C8A5F2 AT club-internet DOT fr> NNTP-Posting-Host: propus-144.lu.erisoft.se X-Newsreader: TIN [version 1.2 PL2] To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com flobere AT club-internet DOT fr wrote: : > // 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. Well, it's not _that_ simple. First I suggest you look at the prototype or documentation for memset() (hint-hint-nudge- youknowwhatImean-wink) before assuming anything. But you are right that memset is used to set chars not ints (at least in DJGPP and Linux). Right, MartinS