Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch
Newsgroups: comp.lang.c
Subject: Re: question about nullptr
Date: Tue, 09 Jul 2024 04:32:50 -0700
Organization: A noiseless patient Spider
Lines: 40
Message-ID: <86cynmajh9.fsf@linuxsc.com>
References: <20240706054641.175@kylheku.com> <877cdyuq0f.fsf@bsb.me.uk> <2ckiO.19403$7Ej.4487@fx46.iad> <87plrpt4du.fsf@bsb.me.uk> <9bCiO.7108$sXW9.3805@fx41.iad> <877cdwu9s1.fsf@nosuchdomain.example.com> <20240708222804.00001654@yahoo.com> <20240709104848.00005732@yahoo.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Date: Tue, 09 Jul 2024 13:32:52 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="4404f50b61bba69374b6468dfb9554fc";
logging-data="1449839"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19MYFkbm1wtEIM6cze6xzQ9hAn2Y/s/kTg="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:4R/mQNIe3cDfyB45uAha+Qk0XGM=
sha1:i3/xxCPhcJoCWKTsMypEDu6ErCU=
Bytes: 2531
Michael S writes:
> On Mon, 8 Jul 2024 15:23:47 -0700
> "Chris M. Thomasson" wrote:
>
>> On 7/8/2024 12:28 PM, Michael S wrote:
>>
>>> On Sun, 07 Jul 2024 15:17:34 -0700
>>> Keith Thompson wrote:
>>>
>>>> I just about always use NULL, not 0, when I want a null pointer
>>>> constant. Similarly, I use '\0', not 0, when I want a null
>>>> character, 0.0 when I want a floating-point zero, and false when I
>>>> want a Boolean zero. I just like being explicit.
>>>
>>> Pointer: I very rarely use NULL.
>>> Character: I never use '\0'.
>>
>> Not even something like:
>>
>> #define CLINE 128
>>
>> char x[CLINE] = { '\0' };
>>
>> ?
>>
>> ;^)
>
> I see nothing special about your case. {0} is the most appropriate.
Any use of '\0' almost always strikes me as an affectation. It's
like people want to somehow pretend that it's not the same as
just 0.
> And, BTW, I never use #define for integer constants.
What do you do if you need to define a compile-time constant
whose value is outside the range of signed int? With the
understanding that the context is C as it is now, and not
C++ or some imagined other language.