X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: "Alex Vinokur" Newsgroups: comp.os.msdos.djgpp Subject: Re: Trouble of using very large arrays Date: Fri, 23 Apr 2004 20:48:04 +0300 Lines: 43 Message-ID: References: <4088E94D DOT 8070508 AT acm DOT org> <40894F42 DOT B60859A7 AT yahoo DOT com> NNTP-Posting-Host: 82.166.217.24 X-Trace: news.uni-berlin.de 1082742487 10562848 I 82.166.217.24 ([79865]) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com "CBFalconer" wrote in message news:40894F42 DOT B60859A7 AT yahoo DOT com... > Alex Vinokur wrote: > > "Martin Ambuhl" wrote in message > >> Cesar Rabak wrote: > >>> Brian Inglis escreveu: > >> > >>>> this is cleaner and more maintainable: > >>>> > >>>> a = malloc(rows * columns * sizeof *a); > >>>> > >>> This is not a good advice: you're changing the allocation of an > >>> object of (rows x columns) ints to another of (rows x columns) > >>> pointers to int. > >> > >> You are, I regret to say, in error. The type of *a is int, not > >> pointers-to-int. > > ------ My mistake ------ > > You are right. So, > > a = malloc(rows * columns * sizeof a); ------------------------ > ^^ > No no, 1000 times no, that should be "*a". > Of course, char* a1 = malloc(rows * columns * sizeof *a1); /* malloc(rows * columns * sizeof (char)); */ int* a2 = malloc(rows * columns * sizeof *a2); /* malloc(rows * columns * sizeof (int)); */ long* a3 = malloc(rows * columns * sizeof *a3); /* malloc(rows * columns * sizeof (long)); */ [snip] -- Alex Vinokur mailto:alexvn AT connect DOT to http://mathforum.org/library/view/10978.html