写一个结构体成员互相交换的函数
时间: 2024-09-07 17:01:45 浏览: 35
C++结构体和json/xml之间互相转换
在C语言中,要编写一个函数用于交换结构体成员的值,首先需要明确结构体的定义和成员类型。这里我提供一个通用的结构体成员交换函数的例子,假设我们有一个结构体`Person`,其中包含两个成员变量`age`和`height`,都是整型。我们希望编写一个函数`swapPersonMembers`,用于交换这个结构体的`age`和`height`成员。
```c
#include <stdio.h>
// 定义Person结构体
typedef struct {
int age;
int height;
} Person;
// 函数声明
void swapPersonMembers(Person *p);
int main() {
Person person = {30, 175};
printf("交换前:年龄:%d,身高:%d\n", person.age, person.height);
// 调用函数交换成员
swapPersonMembers(&person);
printf("交换后:年龄:%d,身高:%d\n", person.age, person.height);
return 0;
}
// 函数定义
void swapPersonMembers(Person *p) {
int temp = p->age;
p->age = p->height;
p->height = temp;
}
```
这个例子中,我们首先定义了`Person`结构体,并声明了`swapPersonMembers`函数。在`main`函数中创建了一个`Person`实例,并初始化其成员变量。通过调用`swapPersonMembers`函数,我们交换了结构体中的`age`和`height`成员的值。函数内部使用了一个临时变量`temp`来完成交换操作。
阅读全文