下列memcpy函数正确的题目
时间: 2024-09-12 20:12:28 浏览: 32
`memcpy` 函数在 C 语言中用于复制内存区域的内容。这个函数定义在 `<string.h>` 头文件中,其原型如下:
```c
void *memcpy(void *dest, const void *src, size_t n);
```
该函数有三个参数:
1. `dest`:目标内存区域的指针。
2. `src`:源内存区域的指针。
3. `n`:要复制的字节数。
`memcpy` 函数会将 `src` 指向的内存区域的前 `n` 个字节复制到 `dest` 指向的内存区域。需要注意的是,如果 `dest` 和 `src` 指向的内存区域有重叠的部分,那么复制的结果是未定义的,这可能导致数据覆盖错误。为了避免这个问题,应使用 `memmove` 函数。
正确的使用 `memcpy` 函数的示例如下:
```c
#include <string.h>
#include <stdio.h>
int main() {
char source[] = "Hello, CSDN!";
char destination[20];
// 使用memcpy函数复制字符串
memcpy(destination, source, sizeof(source) - 1); // 复制时减去字符串结束符'\0'
destination[sizeof(source) - 1] = '\0'; // 手动添加字符串结束符
printf("Original String: %s\n", source);
printf("Copied String: %s\n", destination);
return 0;
}
```
阅读全文