Groups | Search | Server Info | Login | Register


Groups > comp.std.c > #6646

May a string span multiple, independent objects?

From Vincent Lefevre <vincent-news@vinc17.net>
Newsgroups comp.std.c
Subject May a string span multiple, independent objects?
Date 2024-07-03 14:31 +0000
Organization a training zoo
Message-ID <20240703141500$00ed@vinc17.org> (permalink)

Show all headers | View raw


ISO C17 (and C23 draft) 7.1.1 defines a string as follows: "A string
is a contiguous sequence of characters terminated by and including
the first null character."

But may a string span multiple, independent objects that happens
to be contiguous in memory?

For instance, is the following program valid and what does the ISO C
standard say about that?

#include <stdio.h>
#include <string.h>

typedef char *volatile vp;

int main (void)
{
  char a = '\0', b = '\0';
  vp p = &a, q = &b;

  printf ("%p\n", (void *) p);
  printf ("%p\n", (void *) q);
  if (p + 1 == q)
    {
      a = 'x';
      printf ("%zd\n", strlen (p));
    }
  if (q + 1 == p)
    {
      b = 'x';
      printf ("%zd\n", strlen (q));
    }
  return 0;
}

If such a program is valid, would there be issues by working with
pointers on such a string, say, dereferencing p[1] in the first "if"
(which is normally UB)?

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

Back to comp.std.c | Previous | NextNext in thread | Find similar


Thread

May a string span multiple, independent objects? Vincent Lefevre <vincent-news@vinc17.net> - 2024-07-03 14:31 +0000
  Re: May a string span multiple, independent objects? Hans-Bernhard Bröker <HBBroeker@gmail.com> - 2024-07-03 17:23 +0200
    Re: May a string span multiple, independent objects? Vincent Lefevre <vincent-news@vinc17.net> - 2024-07-03 15:37 +0000
    Re: May a string span multiple, independent objects? James Kuyper <jameskuyper@alumni.caltech.edu> - 2024-07-03 12:11 -0400
    Re: May a string span multiple, independent objects? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-08-08 08:51 -0700
  Re: May a string span multiple, independent objects? James Kuyper <jameskuyper@alumni.caltech.edu> - 2024-07-03 11:59 -0400
    Re: May a string span multiple, independent objects? Ben Bacarisse <ben@bsb.me.uk> - 2024-07-03 22:08 +0100
      Re: May a string span multiple, independent objects? James Kuyper <jameskuyper@alumni.caltech.edu> - 2024-07-03 17:36 -0400
      Re: May a string span multiple, independent objects? Vincent Lefevre <vincent-news@vinc17.net> - 2024-07-04 13:22 +0000
        Re: May a string span multiple, independent objects? Ben Bacarisse <ben@bsb.me.uk> - 2024-07-05 05:14 +0100
        Re: May a string span multiple, independent objects? James Kuyper <jameskuyper@alumni.caltech.edu> - 2024-07-05 01:37 -0400
        Re: May a string span multiple, independent objects? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-08-08 08:35 -0700
  Re: May a string span multiple, independent objects? Kaz Kylheku <643-408-1753@kylheku.com> - 2024-07-05 07:14 +0000

csiph-web