Path: csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch Newsgroups: comp.lang.c Subject: Re: A thought of C Date: Sat, 25 Apr 2026 19:58:25 -0700 Organization: A noiseless patient Spider Lines: 19 Message-ID: <867bpu2zse.fsf@linuxsc.com> References: <3a3462bdd72c4ed9d392a78b7d369a7b5ccc3b04.camel@gmail.com> <10s4gtb$grfo$1@dont-email.me> <10s53k2$mlh7$1@dont-email.me> <10s9c7a$2b5i9$4@dont-email.me> <10sal4e$2967c$1@dont-email.me> <10sbera$2iai7$2@kst.eternal-september.org> <10sbl72$2knde$1@dont-email.me> <10sbue0$2mtc2$1@kst.eternal-september.org> <10scqh1$2u305$1@dont-email.me> <10se1pa$3b5kb$2@dont-email.me> <10se5r1$3c90c$1@dont-email.me> <10sehaa$3e0ld$1@dont-email.me> <10sh4sk$ge59$2@dont-email.me> <10sh5aa$ghpi$1@dont-email.me> <10siolv$t20v$1@dont-email.me> <10sj2vv$127t8$1@dont-email.me> <10sj7tj$14il7$1@dont-email.me> <86o6j63gqs.fsf@linuxsc.com> <10sjbk3$15idp$1@dont-email.me> <86bjf6373z.fsf@linuxsc.com> <10sjqdt$19c5j$3@kst.eternal-september.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Date: Sun, 26 Apr 2026 02:58:26 +0000 (UTC) Injection-Info: dont-email.me; posting-host="ba9581de696c0982039c62980e84b25b"; logging-data="1394327"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+pThzmqx4Zy7DOkTsC/kN95FpaVqx9++k=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:JVnGKSIdtZHT/QIvJDEfcXjeu78= sha1:qtlZlripsYl4pyuNx4IDNo5gatE= Xref: csiph.com comp.lang.c:397977 Keith Thompson writes: > Tim Rentsch writes: > [...] > >> It sounds like you're confusing a compile-time notion and a >> run-time notion. The symbol NULL is a compile-time construct, >> either simply 0 (or equivalent), or (void*)0 (or equivalent). > > A small quibble, not relevant to the current discussion: (void*)0 > is a null pointer constant, but not a valid expansion of NULL. > The expansion of NULL must be fully protected by parentheses, so > ((void*)0) is a valid expansion. > > One might also quibble about the meaning of "or equivalent". > 0LL would not normally be considered equivalent to 0, but both are > valid NPCs and valid expansions of NULL. The point of saying "or equivalent" is to avoid such quibbling.