具体的には、次のようなものを作成できるかどうか疑問に思っていました。
typedef struct {
char *s; /* still a cstr, with '0' bit at end */
size_t len;
} str;
str *newstr(char *s) {/*...*/};
void freestr(str *s) {/*...*/};
そしてこのようなことをします(stdlib/string
関数を持つcstrとして扱います):
int main() {
str *s = newstr("hello");
printf("The first character of '%s' is '%c'", *s, (*s)[0]);
freestr(s);
}
そうでなければ、それは大したことではありません。もちろん、私は1バイトを無駄にすることについてはあまり心配していません。