Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #63736

Re: recalloc

From Bartc <bc@freeuk.com>
Newsgroups comp.lang.c
Subject Re: recalloc
Date 2015-06-21 20:10 +0100
Organization A noiseless patient Spider
Message-ID <mm724p$1fv$1@dont-email.me> (permalink)
References <mm5lnh$tna$1@dont-email.me> <6cb341d1-ae2d-4521-8f9b-21a6adcc14d9@googlegroups.com>

Show all headers | View raw


On 21/06/2015 18:14, Malcolm McLean wrote:
> On Sunday, June 21, 2015 at 7:32:45 AM UTC+1, jacobnavia wrote:
>>
>> calloc zeroes the new memory. But there is no way to re-alllocate the
>> memory block WITH zeroes in the new portion, if the new size is bigger.
>>
>> lcc-win introduces recalloc, with the same signature as realloc but
>> zeroing the new memory.
>>
> Whilst I wouldn't go as far as to say this is useless, it's not
> going to be very useful either.
> Typically if you call realloc() then it's because you've got
> a growing buffer than you want to insert data into. So you
> don't need to zero initialise the memory. Buffers allocated for
> the first time, by contrast, often need to start out will all
> elements zero.

You allocate space for an array of structs where you want most of the 
elements to start off at default zero values, so you use calloc.

Then you run out of entries and need to re-allocate. Are you saying that 
now it needs to be necessary to explicitly clear those extra structs 
when before it was automatic?

It anyway wouldn't make sense to have calloc that zeros new memory and a 
recalloc that doesn't.

-- 
Bartc

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

recalloc jacobnavia <jacob@jacob.remcomp.fr> - 2015-06-21 08:32 +0200
  Re: recalloc luser droog <luser.droog@gmail.com> - 2015-06-20 23:43 -0700
    Re: recalloc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-06-21 10:00 +0100
      Re: recalloc luser droog <luser.droog@gmail.com> - 2015-06-21 09:57 -0700
  Re: recalloc Richard Heathfield <rjh@cpax.org.uk> - 2015-06-21 07:51 +0100
    Re: recalloc jacobnavia <jacob@jacob.remcomp.fr> - 2015-06-21 09:22 +0200
      Re: recalloc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-06-21 09:49 +0100
        Re: recalloc jacobnavia <jacob@jacob.remcomp.fr> - 2015-06-21 12:00 +0200
          Re: recalloc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-06-21 12:46 +0100
          Re: recalloc James Kuyper <jameskuyper@verizon.net> - 2015-06-21 12:25 -0400
            Re: recalloc David Kleinecke <dkleinecke@gmail.com> - 2015-06-22 08:27 -0700
          Re: recalloc James Kuyper <jameskuyper@verizon.net> - 2015-06-21 12:30 -0400
          Re: recalloc Keith Thompson <kst-u@mib.org> - 2015-06-21 13:00 -0700
    Re: recalloc Keith Thompson <kst-u@mib.org> - 2015-06-21 12:44 -0700
  Re: recalloc jacobnavia <jacob@jacob.remcomp.fr> - 2015-06-21 10:30 +0200
  Re: recalloc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-06-21 10:14 -0700
    Re: recalloc Richard Heathfield <rjh@cpax.org.uk> - 2015-06-21 19:28 +0100
    Re: recalloc Bartc <bc@freeuk.com> - 2015-06-21 20:10 +0100
      Re: recalloc Keith Thompson <kst-u@mib.org> - 2015-06-21 12:46 -0700
      Re: recalloc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-06-21 13:41 -0700
        Re: recalloc Richard Heathfield <rjh@cpax.org.uk> - 2015-06-22 00:02 +0100
    Re: recalloc jacobnavia <jacob@jacob.remcomp.fr> - 2015-06-21 22:59 +0200
      Re: recalloc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-06-21 14:18 -0700
  Re: recalloc Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-11 04:50 -0700
    Re: recalloc jacobnavia <jacob@jacob.remcomp.fr> - 2015-07-11 16:18 +0200
      Re: recalloc Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-11 13:51 -0700
        Re: recalloc jacobnavia <jacob@jacob.remcomp.fr> - 2015-07-12 15:51 +0200
          Re: recalloc Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-15 03:57 -0700

csiph-web