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


Groups > comp.lang.c > #142102

Re: heap memory indexed as an array

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: heap memory indexed as an array
Date 2019-03-20 12:12 +0000
Organization A noiseless patient Spider
Message-ID <87sgvhzqvd.fsf@bsb.me.uk> (permalink)
References <5b6ce6dd-178a-4fb6-9d80-af5349c0cec2@googlegroups.com>

Show all headers | View raw


sinbad <sinbad.sinbad@gmail.com> writes:

> #include <stdio.h>
> #include <string.h>
> #include <stdlib.h>
>
> typedef struct cell {
>     char name[5];
>     int y;
> } cell_t;
>
> #define MAX_CELLS 5
>
> int main() {
>     int i;
>     cell_t *p;
>
>     p = calloc(MAX_CELLS, sizeof(cell_t));
>
>     for (i = 0; i < MAX_CELLS; i++) {
>         strcpy(p[i * sizeof(cell_t)].name, "test");
>         p[i * sizeof(cell_t)].y = i;
>     }
>
>     for (i = 0; i < MAX_CELLS; i++) {
>         printf("%s %u\n", p[i * sizeof(cell_t)].name,
>                p[i*sizeof(cell_t)].y);
>     }
>
>     free(p);
>     return 0;
>
> }

Here's another way to write this program with about half a dozen
changes, some of which you (or others) may find interesting:

#include <stdio.h>
#include <stdlib.h>

typedef struct cell {
    char name[5];
    int y;
} cell_t;

#define MAX_CELLS 5

int main(void)
{
     cell_t *p = malloc(MAX_CELLS * sizeof *p);

     for (int i = 0; i < MAX_CELLS; i++)
          p[i] = (cell_t){"test", i};

     for (int i = 0; i < MAX_CELLS; i++)
          printf("%s %d\n", p[i].name, p[i].y);

     free(p);
}

-- 
Ben.

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


Thread

heap memory indexed as an array sinbad <sinbad.sinbad@gmail.com> - 2019-03-19 20:05 -0700
  Re: heap memory indexed as an array Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2019-03-19 21:37 -0600
    Re: heap memory indexed as an array Spiros Bousbouras <spibou@gmail.com> - 2019-03-20 04:40 +0000
      Re: heap memory indexed as an array nobody@example.org (Scott) - 2019-03-20 15:56 +0000
        Re: heap memory indexed as an array scott@slp53.sl.home (Scott Lurndal) - 2019-03-20 16:43 +0000
          Re: heap memory indexed as an array fir <profesor.fir@gmail.com> - 2019-03-20 10:00 -0700
          Re: heap memory indexed as an array William Ahern <william@25thandClement.com> - 2019-03-20 15:07 -0700
            Re: heap memory indexed as an array fir is a sexy shemale <cdalten@gmail.com> - 2019-03-20 23:52 -0700
          Re: heap memory indexed as an array nobody@example.org (Scott) - 2019-03-21 16:50 +0000
            Re: heap memory indexed as an array scott@slp53.sl.home (Scott Lurndal) - 2019-03-21 17:23 +0000
              Re: heap memory indexed as an array nobody@example.org (Scott) - 2019-03-22 04:29 +0000
                OT: crashing malloc [was Re: heap memory indexed as an array] nobody@example.org (Scott) - 2019-03-23 15:27 +0000
                Re: heap memory indexed as an array Spiros Bousbouras <spibou@gmail.com> - 2019-03-23 19:24 +0000
                Re: heap memory indexed as an array Melzzzzz <Melzzzzz@zzzzz.com> - 2019-03-23 20:20 +0000
      Re: heap memory indexed as an array Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-03-21 22:35 -0700
  Re: heap memory indexed as an array Jorgen Grahn <grahn+nntp@snipabacken.se> - 2019-03-20 07:05 +0000
  Re: heap memory indexed as an array Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-03-20 12:12 +0000

csiph-web