# Copying [Русская версия / Russian version](copy-rus.md) The copy functions allow you to copy the coordinate values of one vector to another vector. Function for **BGC_FP32_Vector3**: ```c inline void bgc_fp32_vector3_copy(BGC_FP32_Vector3* const destination, const BGC_FP32_Vector3* const source); ``` Function for **BGC_FP64_Vector3**: ```c inline void bgc_fp64_vector3_copy(BGC_FP64_Vector3* const destination, const BGC_FP64_Vector3* const source); ``` Each of these functions is equivalent to the following lines of code: ```c destination->x = source->x; destination->y = source->y; destination->z = source->z; ``` The **source** and **destination** parameters must not be invalid pointers. The NULL (0) value is also considered invalid. The **source** parameter must be a pointer to a three-dimensional vector whose coordinates are to be copied. The coordinates of the **source** vector will not change after the function call. The **destination** parameter must be a pointer to a three-dimensional vector whose coordinates are to be changed. The coordinates of the **destination** vector will become the same as those of the **source** vector after the function call. Example of use: ```c #include #include int main() { BGC_FP32_Vector3 my_vector1, my_vector2; my_vector1.x = -2.0f; my_vector1.y = 7.4f; my_vector1.z = 1.8f; bgc_fp32_vector3_copy(&my_vector2, &my_vector1); printf("x = %f, y = %f, z = %f\n", my_vector2.x, my_vector2.y, my_vector2.z); return 0; } ``` [Documentation](../intro-eng.md) / [3D vectors](../vector3-eng.md)