二级指针memcpy
时间: 2023-11-02 11:03:54 浏览: 127
二维指针的详解
二级指针是指指向指针的指针。使用二级指针可以在函数中修改指针的值,而不只是修改指针指向的内存的值。
memcpy函数是C语言中用于内存拷贝的函数,它可以将一块内存的内容复制到另一个内存位置。memcpy函数的声明如下:
```c
void *memcpy(void *dest, const void *src, size_t n);
```
其中,dest是目标内存的指针,src是源内存的指针,n是要复制的字节数。
使用二级指针进行内存拷贝时,可以通过修改一级指针的值来改变指向的内存块。下面是一个使用二级指针和memcpy函数进行内存拷贝的示例:
```c
#include <stdio.h>
#include <string.h>
void copy_string(char **dest, const char *src) {
size_t len = strlen(src) + 1;
*dest = (char *)malloc(len); // 分配目标内存
memcpy(*dest, src, len); // 复制源内存到目标内存
}
int main() {
char *str = NULL;
const char *src = "Hello, world!";
copy_string(&str, src);
if (str != NULL) {
printf("Copied string: %s\n", str);
free(str); // 释放目标内存
}
return 0;
}
```
运行上面的代码,输出结果为:
```
Copied string: Hello, world!
```
阅读全文