定义一个结构体类型的指针并对他进行赋值然后传递到另一个函数中
时间: 2024-09-14 18:02:58 浏览: 44
在C/C++中,定义一个结构体类型的指针非常简单。首先,你需要定义一个结构体,然后声明一个该结构体类型的指针变量。假设我们有一个名为`Person`的结构体,包含姓名和年龄两个字段:
```c
struct Person {
char name[50];
int age;
};
```
接下来,我们可以定义一个`Person`类型的指针变量,并将其初始化为`NULL`,或者指向一个新的`Person`结构体实例:
```c
Person* p = NULL; // 初始化为NULL
// 或者
Person person = {"John Doe", 30}; // 创建一个结构体实例
Person* p = &person; // 指向已创建的结构体
```
然后,你可以将这个指针传递给另一个函数,比如一个函数`displayPerson`,它接受一个`Person*`类型的参数:
```c
void displayPerson(Person* ptr) {
if (ptr != NULL) {
printf("Name: %s, Age: %d\n", ptr->name, ptr->age);
} else {
printf("Null pointer.\n");
}
}
int main() {
displayPerson(p); // 调用函数并传入指针
return 0;
}
```
在这个例子中,如果`p`不是`NULL`,函数会打印出`p`所指向的`Person`结构体的内容。如果`p`为`NULL`,则会打印"Null pointer."。
阅读全文