リーリー
この操作は"bar"连接到新的重新分配的足够大的空间"FOO"之后,其中ZSTR_VAL返回的是char*,ZSTR_LEN返回的是intです。
"bar"
"FOO"
ZSTR_VAL
char*
ZSTR_LEN
int
ポインタはメモリアドレスとして理解でき、既存の空間の先頭にあるポインタがZSTR_VAL(foobar),向后加上空间FOO的长度,就是FOO空间结束时的内存地址,从此处开始进行内存拷贝,赋值bar的值(即为ZSTR_VAL(bar)),长度为ZSTR_LEN(bar)です。
ZSTR_VAL(foobar)
FOO
bar
ZSTR_VAL(bar)
ZSTR_LEN(bar)
リーリー
この操作は
"bar"
连接到新的重新分配的足够大的空间"FOO"
之后,其中
ZSTR_VAL
返回的是char*
,ZSTR_LEN
返回的是int
です。ポインタはメモリアドレスとして理解でき、既存の空間の先頭にあるポインタが
ZSTR_VAL(foobar)
,向后加上空间FOO
的长度,就是FOO
空间结束时的内存地址,从此处开始进行内存拷贝,赋值bar
的值(即为ZSTR_VAL(bar)
),长度为ZSTR_LEN(bar)
です。