www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/05/10/13:20:26

Message-ID: <3736A098.55E268BE@softhome.net>
From: Chris Mears <chris_mears AT softhome DOT net>
X-Mailer: Mozilla 4.04 [en] (Win95; I)
MIME-Version: 1.0
Newsgroups: comp.os.msdos.djgpp
Subject: Re: ? array[n] or array[n+1] ?
References: <37367f71 DOT 6271443 AT news DOT wanadoo DOT fr>
Lines: 30
Date: Mon, 10 May 1999 19:02:16 +1000
NNTP-Posting-Host: 139.134.194.206
X-Trace: newsfeeds.bigpond.com 926326530 139.134.194.206 (Mon, 10 May 1999 18:55:30 EST)
NNTP-Posting-Date: Mon, 10 May 1999 18:55:30 EST
Organization: Telstra BigPond Internet Services (http://www.bigpond.com)
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Because you're overrunning the array.  "int bit[63][6]" means that the
first index must be between 0 and 62 inclusive, and the second is
between 0 and 5, inclusive.  I don't know why Visual C complains, but
the reason djgpp doesn't is because it trusts you.  It assumes you know
what you're doing, and lets you do it uninhibited.

Chris

Gallicus wrote:
> 
> Can somebody explain why
> 
> int   bit[63] [6];
> 
> for (i=0; i<= 63; i++)
>     { k=i;
>       for (j=1;j<=6; j++)
>         { bit[i][j] = k % 2;
>           k=k / 2;
>       }
>  }
> 
> throws a runtime error with MS Visual C++ 5.0 (because it requires
> int bit[64] [7])
> 
> and DJGPP is quite satisfied with int bit[63] [6] ?
> 
> TIA.
> 
> Gallicus.

- Raw text -


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