www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/02/02/19:17:37

From: Christian Bird <cbird AT byu DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Dynamically allocated arrays
Date: Sun, 02 Feb 1997 15:46:44 -0700
Organization: Brigham Young University
Lines: 29
Message-ID: <32F51954.6B69@byu.edu>
NNTP-Posting-Host: byu-0718.ln.byu.edu
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Hello,
	Is there a limit to the size of an array that can be allocated?  Right
now I'm writing a maze generation program and I input the size of it
from the user and dynamically allocate the array I need.  Here is the
code.

struct cell
{
        int left, up, right, down, used;
};

cell ** maze;
int i;

make_maze = (cell **) malloc(max_width*sizeof(cell *));
for (i = 0; i < max_width; i++) make_maze[i] = (cell *)   
malloc(max_height*sizeof(cell));

The program compiles and runs fine, making mazes of arbitrary sizes, but
when I hit a certain size, it dies on me.  I find that if max_width is
198, max_height can be around 80 but if it gets to near 100 the program
dies.  I'm assuming that maybe the array has to be within a certain
size?  I tried changing the int's in the cell struct to char's so they
would be smaller, but the program still died at the same numbers.  If
anyone knows why this is or how to avert it I would be very
appreciative.  Thanks!

Christian Bird
cbird AT byu DOT edu

- Raw text -


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