用C语言代码写一个函数中包含结构体指针和两个int参数的示例
时间: 2024-10-09 18:01:55 浏览: 6
在C语言中,你可以创建一个函数,它接受一个结构体指针和两个整数作为参数。这里是一个简单的例子,假设我们有一个名为`Person`的结构体,它有两个成员变量`name`和`age`,并且我们想要编写一个函数来更新这个人的年龄:
```c
#include <stdio.h>
#include <string.h>
// 定义Person结构体
typedef struct {
char name[50];
int age;
} Person;
// 函数声明,接受一个Person指针和两个整数
void updatePerson(Person* person, int newAge, const char* newName);
// 函数实现
void updatePerson(Person* person, int newAge, const char* newName) {
if (person != NULL) { // 检查指针是否为空
strcpy(person->name, newName); // 更新姓名
person->age = newAge; // 更新年龄
printf("Name updated to '%s', Age set to %d\n", person->name, person->age);
} else {
printf("Invalid person pointer.\n");
}
}
int main() {
// 创建一个Person实例
Person john = {"John", 30};
// 调用函数并传递指向john的指针
updatePerson(&john, 31, "John Doe");
return 0;
}
```
在这个例子中,`updatePerson`函数接收一个指向`Person`类型的指针,改变其`age`和`name`属性。注意在主函数中,我们需要使用`&`操作符获取`john`的实际地址以便传递给函数。