Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | "BartC" <bc@freeuk.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: A portable stack in C |
| Date | 2011-11-15 18:45 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <j9uc14$7nn$1@dont-email.me> (permalink) |
| References | (2 earlier) <j9t7gd$45e$1@speranza.aioe.org> <j9tdlo$669$1@dont-email.me> <j9temn$o6u$1@speranza.aioe.org> <0.ef2e570d4fa8ea6e44a0.20111115114550GMT.871ut9vcb5.fsf@bsb.me.uk> <j9tk3s$7bl$1@speranza.aioe.org> |
"jacob navia" <jacob@spamsink.net> wrote in message news:j9tk3s$7bl$1@speranza.aioe.org... > Le 15/11/11 12:45, Ben Bacarisse a écrit : >> jacob navia<jacob@spamsink.net> writes: >> <snip> >>> Conceptually ANY pointer is an index in a big array called "memory" >>> (or RAM if you like). >> >> C pointers don't fit this concept. They have a type which contributes >> to the result of operations like *p, sizeof *p and p + 1. >> > > The *p operation is just > 1) Read the value of the pointer > 2) Index the memory > 3) read that position. > > This is just memory[p] (assuming non segmented memory) Yes, you can throw away everything in C, and just have a gigantic static array of bytes 'memory'. But superimposing ordinary variables, arrays, and structs on top of that is fiddly. However, even supposing that was done, that's not sufficient, because each function invocation will have it's own local byte-array for local variables. Now, this array can presumably also be located a space somewhere in the global array, but then, so what? I'm not sure where you're going with this. You know have control over the size and range of pointers, by using indexes (although if memory[] is the same size as the machine's memory, the width of your index will be the same as the width of your pointers), but you've thrown away half of C too, and programming becomes next to impossible. Maybe this is how it's all done at a low-level, but I don't think it's what that poster had in mind. > In general, what I want to emphasize is the equivalence between array > indices and pointers. Array accesses usually involve two elements: the array, and the index. And the array itself will be a pointer (that is, if you forget the nonsense about a giant byte-array). While pointer accesses usually involve one element, the pointer value, with an optional offset. And if you have this: int A; and want to pass a pointer to A to some function, how exactly would you turn that into an index, without rewriting your entire application in a stripped-down, low-level version of C? -- Bartc
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-14 17:54 +0100
Re: A portable stack in C Barry Schwarz <schwarzb@dqel.com> - 2011-11-14 20:55 -0800
Re: A portable stack in C jacob navia <jacob@spamsink.net> - 2011-11-15 09:22 +0100
Re: A portable stack in C Ike Naar <ike@iceland.freeshell.org> - 2011-11-15 09:00 +0000
Re: A portable stack in C jacob navia <jacob@spamsink.net> - 2011-11-15 11:26 +0100
Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-15 10:05 +0000
Re: A portable stack in C jacob navia <jacob@spamsink.net> - 2011-11-15 11:25 +0100
Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-15 11:08 +0000
Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 11:45 +0000
Re: A portable stack in C jacob navia <jacob@spamsink.net> - 2011-11-15 12:57 +0100
Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 12:39 +0000
Re: A portable stack in C jacob navia <jacob@spamsink.net> - 2011-11-15 14:26 +0100
Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 15:31 +0000
Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 12:53 -0800
Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 21:15 +0000
Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 14:29 -0800
Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 22:59 +0000
Re: A portable stack in C James Kuyper <jameskuyper@verizon.net> - 2011-11-15 17:30 -0500
Re: A portable stack in C Willem <willem@toad.stack.nl> - 2011-11-15 22:33 +0000
Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 15:07 -0800
Re: A portable stack in C Seebs <usenet-nospam@seebs.net> - 2011-11-15 22:37 +0000
Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 23:01 +0000
Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-15 18:45 +0000
Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 12:41 -0800
Re: A portable stack in C Richard Damon <news.x.richarddamon@xoxy.net> - 2011-11-15 23:07 -0500
Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 20:18 -0800
Re: A portable stack in C Robert Wessel <robertwessel2@yahoo.com> - 2011-11-15 22:53 -0600
Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-16 12:00 +0000
Re: A portable stack in C falk@rahul.net (Edward A. Falk) - 2011-11-16 16:08 +0000
Re: A portable stack in C David Thompson <dave.thompson2@verizon.net> - 2012-01-19 02:41 -0500
Re: A portable stack in C Thomas David Rivers <rivers@dignus.com> - 2011-11-15 11:21 -0500
Re: A portable stack in C Barry Schwarz <schwarzb@dqel.com> - 2011-11-15 17:53 -0800
Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-15 19:21 +0100
Re: A portable stack in C Barry Schwarz <schwarzb@dqel.com> - 2011-11-15 17:53 -0800
Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-18 08:13 +0100
Re: A portable stack in C Rui Maciel <rui.maciel@gmail.com> - 2011-11-15 10:14 +0000
Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-15 19:20 +0100
Re: A portable stack in C Acid Washed China Blue Jeans <chine.bleu@yahoo.com> - 2011-11-15 08:13 -0800
Re: A portable stack in C Kaz Kylheku <kaz@kylheku.com> - 2011-11-15 16:27 +0000
Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-15 19:21 +0100
Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 13:19 -0800
Re: A portable stack in C blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-11-17 15:45 +0000
Re: A portable stack in C John Gordon <gordon@panix.com> - 2011-11-17 15:56 +0000
Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-17 18:02 +0100
Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-17 17:35 +0000
Re: A portable stack in C Vincenzo Mercuri <vincenzo.mercuri@yahoo.it> - 2011-11-17 18:45 +0100
Re: A portable stack in C Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-11-18 00:27 -0800
Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-18 10:40 +0100
Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-20 07:22 +0100
Re: A portable stack in C Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-11-21 00:38 -0800
Re: A portable stack in C "Jo" <none@none.none> - 2011-11-21 03:44 -0600
Re: A portable stack in C Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-11-21 13:00 +0200
Re: A portable stack in C "Jo" <none@none.none> - 2011-11-21 06:07 -0600
Re: A portable stack in C "Jo" <none@none.none> - 2011-11-21 03:50 -0600
Re: A portable stack in C "Jo" <none@none.none> - 2011-11-21 07:48 -0600
Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-21 20:11 +0100
Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-18 12:47 +0000
Re: A portable stack in C "Jo" <none@none.none> - 2011-11-18 23:31 -0600
Re: A portable stack in C blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-11-18 14:45 +0000
Re: A portable stack in C James Kuyper <jameskuyper@verizon.net> - 2011-11-18 10:14 -0500
Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-18 12:20 -0800
Re: A portable stack in C blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-11-19 17:23 +0000
Re: A portable stack in C Seebs <usenet-nospam@seebs.net> - 2011-11-19 18:49 +0000
Re: A portable stack in C "Jo" <none@none.none> - 2011-11-19 22:41 -0600
Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-20 07:27 +0100
Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-21 20:12 +0100
Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-20 07:50 +0100
Re: A portable stack in C "Jo" <none@none.none> - 2011-11-21 01:24 -0600
Re: A portable stack in C Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-11-21 05:22 -0800
Re: A portable stack in C "Jo" <none@none.none> - 2011-11-22 03:31 -0600
Re: A portable stack in C 88888 Dihedral <dihedral88888@googlemail.com> - 2011-11-21 06:38 -0800
csiph-web