void* memcpy(void * destination, const void * source, size_t num);
這個操作是將"bar"連接到新的重新分配的足夠大的空間"FOO"之後,其中ZSTR_VAL回傳的是char*,ZSTR_VAL回傳的是char*,
"bar"
"FOO"
ZSTR_VAL
char*
指標可以理解為記憶體位址,現有空間頭部的指標即為ZSTR_VAL(foobar),向後加上空間FOO的長度,就是FOO空間結束時的記憶體位址,從此處開始進行記憶體拷貝,賦值bar的值(即為ZSTR_VAL(bar)),長度為ZSTR_LEN(bar)
指標可以理解為記憶體位址,現有空間頭部的指標即為
,向後加上空間
的長度,就是
空間結束時的記憶體位址,從此處開始進行記憶體拷貝,賦值
的值(即為
),長度為
這個操作是將
ZSTR_LENDint 。"bar"
連接到新的重新分配的足夠大的空間"FOO"
之後,其中
ZSTR_VAL
回傳的是char*
,ZSTR_VAL
回傳的是char*
,指標可以理解為記憶體位址,現有空間頭部的指標即為
ZSTR_VAL(foobar),向後加上空間
FOO的長度,就是
FOO空間結束時的記憶體位址,從此處開始進行記憶體拷貝,賦值
bar的值(即為
ZSTR_VAL(bar)),長度為
ZSTR_LEN(bar)