Énigmes de mémoire du noyau PHP
学习ing
学习ing 2017-07-03 11:40:51
0
1
771
    /* concatenates "bar" after the newly reallocated large enough "FOO" */
    memcpy(ZSTR_VAL(foobar) + ZSTR_LEN(FOO), ZSTR_VAL(bar), ZSTR_LEN(bar));
学习ing
学习ing

répondre à tous(1)
phpcn_u1582
void* memcpy(void * destination, const void * source, size_t num);

Cette opération est "bar"连接到新的重新分配的足够大的空间"FOO"之后,
其中ZSTR_VAL返回的是char*ZSTR_LEN返回的是int.

Le pointeur peut être compris comme une adresse mémoire, et le pointeur en tête de l'espace existant est ZSTR_VAL(foobar),向后加上空间FOO的长度,就是FOO空间结束时的内存地址,从此处开始进行内存拷贝,赋值bar的值(即为ZSTR_VAL(bar)),长度为ZSTR_LEN(bar).

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!