admin 管理员组

文章数量: 887021


2023年12月24日发(作者:json 数组怎么写)

c 结构体指针赋值

要将一个结构体指针赋值给另一个结构体指针,可以使用简单的赋值操作符`=`。

下面是一个示例代码:

```c

#include

#include

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 = %dn", ptr2->x, ptr2->y);

// 释放内存

free(ptr1);

free(ptr2);

return 0;

}

```

这段代码中,创建了两个结构体指针`ptr1`和`ptr2`,并分别用`malloc`函数为它们分配了内存。然后,通过`ptr1`指向的结构体赋值给`ptr2`指向的结构体,使用了赋值操作符`=`。最后,打印出`ptr2`指向的结构体的成员变量。

输出结果为:

```

ptr2: x = 1, y = 2

```

需要注意的是,在使用完结构体指针后,应该使用`free`函数释放内存。


本文标签: 结构 指针 赋值 使用 内存