Re: is it possible to point to a slice of an array without malloc or VLAs?

Liste des GroupesRevenir à l c 
Sujet : Re: is it possible to point to a slice of an array without malloc or VLAs?
De : phil.eternal (at) *nospam* ashbysoft.com (Phil Ashby)
Groupes : comp.lang.c
Date : 28. Aug 2024, 10:13:39
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vamm7j$3d74u$1@dont-email.me>
References : 1
User-Agent : Mozilla Thunderbird
On 28/08/2024 08:06, Mark Summerfield wrote:
I'm using getopt_long() to process a command line. So after a typical
call I might have:
 argv == {"./efind", "-D", "-x", "one", "two", "three", "four"} optind
== 3
 What I'd like to do (without copying or mallocing and without using a
VLA) is to get a pointer to a slice of argv, specifically, {"one",
"two", "three", "four"}. In Python terms argv[optind:argc].
 Is this possible in C?
To answer the specific question, I would use pointer arithmetic,
provided there is no intention to modify values, ie:
char **slice = argv + config->optind;
thus slice now points at the appropriate part of argv and can be indexed
or dereferenced / incremented to access elements.

At the moment I store argv, optind, and argc and handle the slice
 > using a loop:
 if (config->optind < config->argc) for (int i = config->optind; i <
config.argc; ++i) process(config->argv[i]);
 This works fine, so really I'm just wondering if there's a nicer
way.
I don't think so, other than to drop the outer check as the loop
condition provides the same boundary.
Phil.

Date Sujet#  Auteur
28 Aug 24 * is it possible to point to a slice of an array without malloc or VLAs?8Mark Summerfield
28 Aug 24 +* Re: is it possible to point to a slice of an array without malloc or VLAs?3Phil Ashby
29 Aug 24 i`* Re: is it possible to point to a slice of an array without malloc or VLAs?2Mark Summerfield
29 Aug 24 i `- Re: is it possible to point to a slice of an array without malloc or VLAs?1Ben Bacarisse
28 Aug 24 +- Re: is it possible to point to a slice of an array without malloc or VLAs?1Stefan Ram
28 Aug 24 `* Re: is it possible to point to a slice of an array without malloc or VLAs?3Blue-Maned_Hawk
28 Aug 24  +- Re: is it possible to point to a slice of an array without malloc or VLAs?1Ben Bacarisse
28 Aug 24  `- Re: is it possible to point to a slice of an array without malloc or VLAs?1Tim Rentsch

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal