c语言 结构体指针传值
时间: 2023-09-24 16:13:05 浏览: 150
在C语言中,可以通过结构体指针来传递结构体的值。结构体指针允许我们传递结构体的引用,而不是实际的结构体对象。
下面是一个示例,演示了如何使用结构体指针传递值:
```c
#include <stdio.h>
typedef struct {
int id;
char name[20];
} Student;
void printStudent(Student *ptr) {
printf("ID: %d\n", ptr->id);
printf("Name: %s\n", ptr->name);
}
int main() {
Student s;
s.id = 1;
strcpy(s.name, "Alice");
printStudent(&s);
return 0;
}
```
在上面的示例中,定义了一个名为`Student`的结构体类型。然后,在`printStudent`函数中,接受一个指向`Student`结构体的指针作为参数。在`main`函数中,创建一个`Student`类型的变量`s`,并将其地址传递给`printStudent`函数。
在`printStudent`函数中,通过指针访问结构体的成员,使用箭头操作符`->`来访问结构体成员。
通过结构体指针传递值可以避免复制大型结构体的开销,并且可以在函数内部修改结构体的值。
阅读全文