🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c
Article #1196

Re: struct hack, and other out-of-array references

#1196
From: Alan J Rosenthal
Date: Sat, 12 Sep 1992 20:46
17 lines
1365 bytes
fjh@munta.cs.mu.OZ.AU (Fergus James HENDERSON) writes:
>Do same considerations would apply if you tried to use a char[5][5] 
>array as a char[25] array?

Actually, I don't think that they do, because along the path to doing this
screwing around you go through a (char *).

>From what you're saying, the reason that casting the return
>value from malloc succeeds is only because malloc is "magic".

I think the magic of pointer-to-char comes into play too.  Any object can be
traversed by pointers-to-char.  So in your example, in my opinion, you're ok
because the dubious operation occurs with pointers-to-char.

Note that you're even guaranteed that the "sizeof" of a char[5][5] array is
exactly 25, because sizeof(char) has to be 1 and an array 5 of something has to
be exactly 5 times the "sizeof".
Technical Details
Message-ID: <1992Sep12.164648.10600@jarvis.csri.toronto.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!utcsri!dgp.toronto.edu!flaps
References: <1992Sep07.104932.20060@x.co.uk> <1992Sep8.124655.1498@Urmel.Informatik.RWTH-Aachen.DE> <1992Sep10.014137.16209@sq.sq.com> <1992Sep10.213240.10272@thinkage.on.ca> <1992Sep11.012438.24377@jarvis.csri.toronto.edu> <9225600.28053@mulga.cs.mu.OZ.AU>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!utcsri!dgp.toronto.edu!flaps
Newsgroups: comp.std.c
From: flaps@dgp.toronto.edu (Alan J Rosenthal)
Subject: Re: struct hack, and other out-of-array references
Message-ID: <1992Sep12.164648.10600@jarvis.csri.toronto.edu>
References: <1992Sep07.104932.20060@x.co.uk> <1992Sep8.124655.1498@Urmel.Informatik.RWTH-Aachen.DE> <1992Sep10.014137.16209@sq.sq.com> <1992Sep10.213240.10272@thinkage.on.ca> <1992Sep11.012438.24377@jarvis.csri.toronto.edu> <9225600.28053@mulga.cs.mu.OZ.AU>
Date: 12 Sep 92 20:46:48 GMT
Lines: 17