素材牛VIP会员
php内核memcpy不解
 素材牛  分类:PHP代码  人气:838  回帖:1  发布于6年前 收藏
    /* concatenates "bar" after the newly reallocated large enough "FOO" */
    memcpy(ZSTR_VAL(foobar) + ZSTR_LEN(FOO), ZSTR_VAL(bar), ZSTR_LEN(bar));
 标签:cphp

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv6 码匠
素***2 学生 6年前#1
void* memcpy(void * destination, const void * source, size_t num);

这个操作是将"bar"连接到新的重新分配的足够大的空间"FOO"之后,
其中ZSTR_VAL返回的是char*ZSTR_LEN返回的是int

指针可以理解为内存地址,现有空间头部的指针即为ZSTR_VAL(foobar),向后加上空间FOO的长度,就是FOO空间结束时的内存地址,从此处开始进行内存拷贝,赋值bar的值(即为ZSTR_VAL(bar)),长度为ZSTR_LEN(bar)

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取