Path: csiph.com!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Peter 'Shaggy' Haywood Newsgroups: comp.sys.apple2.programmer Subject: Re: malloc with cc65 Date: Wed, 03 Jan 2024 19:05:57 +1100 Organization: A noiseless patient Spider Lines: 36 Message-ID: <54hf6k-nk2.ln1@hendrix.foo> References: <20231214135300.3f65fe0f@smilodon-gracilis> <20231214215955.353cd4e4@smilodon-gracilis> <20231218005802.24df6e51@smilodon-gracilis> <20231220105200.7f518465@smilodon-gracilis> <20231231115819.34756963@smilodon-gracilis> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit Injection-Info: dont-email.me; posting-host="7e5362f06aae1a4afb7bd834d9e29c86"; logging-data="3381186"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18hsXQXoUJQ05KED68NYS6i/MbPeURTDCY=" User-Agent: KNode/0.10.9 Cancel-Lock: sha1:pPjw/U/2OWTFzIyhgK/NVn+Hgwg= Xref: csiph.com comp.sys.apple2.programmer:6301 Groovy hepcat Bill Chatfield was jivin' in comp.sys.apple2.programmer on Mon, 1 Jan 2024 03:58 am. It's a cool scene! Dig it. > On Wed, 27 Dec 2023 10:00:43 +1100 > Peter 'Shaggy' Haywood wrote: > >> There's no overloading going on here (notwithstanding its use the >> multiplication operator). It's really quite simple. The * operator >> means "the object pointed at". When used in a declaration it still >> means "the object pointed at". A pointer to foo (where foo is a type) >> declaration essentially means, "Declare an object which is a pointer >> such that the object pointed at by it is a foo." > > I see what you're saying, after much mind bending. Maybe that is the > correct way to think about it. > > The way I was thinking about it, in the declaration, the * produces a > pointer. In an expression the * produces data from a pointer. Dereferences the pointer, yeah, that's basically correct. But you have to sort-of shift your thinking sideways a bit to understand what's really going on. A declaration containing an asterisk means "declare an object that points at foo". That's perhaps a more idiomatic but less technically precise way of saying "declare an object which is a pointer such that the object pointed at by it is a foo." The asterisk itself means "the object pointed at". It may sound odd at first, but makes perfect sense once you get it. :) -- ----- Dig the NEW and IMPROVED news sig!! ----- -------------- Shaggy was here! --------------- Ain't I'm a dawg!!