Sujet : Re: is it possible to point to a slice of an array without malloc or VLAs?
De : bluemanedhawk (at) *nospam* invalid.invalid (Blue-Maned_Hawk)
Groupes : comp.lang.cDate : 28. Aug 2024, 15:25:59
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <pan$97210$7f2c1504$c93772a0$7dfab761@invalid.invalid>
References : 1
User-Agent : Pan/0.154 (Izium; 517acf4)
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?
Yes.
const char * argv_slice[argc - optind] = &argv[optind];
-- Blue-Maned_Hawk│shortens to Hawk│/blu.mɛin.dʰak/│he/him/his/himself/Mr.blue-maned_hawk.srht.siteThis subroutine must not be called from any thread.