c 结构体指针赋值
要将一个结构体指针赋值给另一个结构体指针,可以使用简单的赋值操作符`=`。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int x;
int y;
} Point;
int main() {
// 创建一个结构体指针并分配内存
Point *ptr1 = malloc(sizeof(Point));
ptr1->x = 1;
ptr1->y = 2;
// 创建另一个结构体指针并分配内存
Point *ptr2 = malloc(sizeof(Point));
// 将ptr1指向的结构体赋值给ptr2指向的结构体
*ptr2 = *ptr1;
printf("ptr2: x = %d, y = %d\n", ptr2->x, ptr2->y);
// 释放内存sizeof 指针
free(ptr1);
free(ptr2);
return 0;
}
```
这段代码中,创建了两个结构体指针`ptr1`和`ptr2`,并分别用`malloc`函数为它们分配了内存。然后,通过`ptr1`指向的结构体赋值给`ptr2`指向的结构体,使用了赋值操作符`=`。最后,打印出`ptr2`指向的结构体的成员变量。
输出结果为:
```
ptr2: x = 1, y = 2
```
需要注意的是,在使用完结构体指针后,应该使用`free`函数释放内存。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论