Re: Implicit String-Literal Concatenation

Liste des GroupesRevenir à l c 
Sujet : Re: Implicit String-Literal Concatenation
De : richard.nospam (at) *nospam* gmail.invalid (Richard Harnden)
Groupes : comp.lang.c
Date : 08. Mar 2024, 02:26:04
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <usdlus$1apqi$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
User-Agent : Mozilla Thunderbird
On 07/03/2024 22:25, Keith Thompson wrote:
Kaz Kylheku <433-929-6894@kylheku.com> writes:
On 2024-03-07, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
On Mon, 04 Mar 2024 20:55:28 -0800, Keith Thompson wrote:
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
On Thu, 29 Feb 2024 14:14:52 -0800, Keith Thompson wrote:
"A *string* is a contiguous sequence of characters terminated by and
including the first null character."
>
So how come strlen(3) does not include the null?
>
Because the *length of a string* is by definition "the number of bytes
preceding the null character".
>
So the “string” itself includes the null character, but its “length” does
not?
>
That's correct. However, its size includes it.
>
  sizeof "abc" == 4
>
  strlen("abc") == 3
>
The abstract string does not include the null character;
we understand "abc" to be a three character string.
 Sure, if you define "abstract string" that way.  I'll just note that C's
definition of the word "string" does include the terminating null
character, and does not talk about "abstract strings".  (A string in the
abstract machine clearly includes the null character, but that's a bit
of a stretch.)
A string is just a data format.
You have a string of chars, terminated by a '\0'.
You can have a "string" of anything, terminated by a NULL.
Everyone's used to argv, for example.

 Yes, I'm being annoyingly pedantic.
 
The C representation of the string includes the null character;
the size is a representational concept so it counts it.
>
It is common for C programs to break encapsulation and openly deal with
that terminating null.
 

Date Sujet#  Auteur
7 Mar 24 * Re: Implicit String-Literal Concatenation8Lawrence D'Oliveiro
7 Mar 24 +* Re: Implicit String-Literal Concatenation6Kaz Kylheku
8 Mar 24 i`* Re: Implicit String-Literal Concatenation5Keith Thompson
8 Mar 24 i +* Re: Implicit String-Literal Concatenation2Kaz Kylheku
8 Mar 24 i i`- Re: Implicit String-Literal Concatenation1Keith Thompson
8 Mar 24 i +- Re: Implicit String-Literal Concatenation1Chris M. Thomasson
8 Mar 24 i `- Re: Implicit String-Literal Concatenation1Richard Harnden
8 Mar 24 `- Re: Implicit String-Literal Concatenation1Keith Thompson

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal