引用结构体里的结构体
时间: 2023-12-18 16:25:44 浏览: 15
要引用结构体里的结构体,可以使用点运算符(.)来访问该结构体的成员。例如,假设有一个结构体定义如下:
```
struct Address {
char street[100];
char city[50];
char state[20];
char zip[10];
};
struct Person {
char name[100];
int age;
Address address;
};
```
要访问 `Person` 结构体中的 `Address` 结构体的 `street` 成员,可以使用以下语法:
```
Person p;
// 假设已经初始化了 p 的其他成员
strcpy(p.address.street, "123 Main St");
```
这样就可以将 `123 Main St` 赋值给 `p` 的地址结构体中的 `street` 成员了。
相关问题
c++怎么引用结构体
要引用结构体,可以使用结构体的别名或者使用结构体变量的指针。
使用结构体别名引用结构体:
```
typedef struct {
int x;
int y;
} Point;
Point p;
p.x = 1;
p.y = 2;
```
使用结构体变量的指针引用结构体:
```
struct Point {
int x;
int y;
};
struct Point p;
struct Point* ptr = &p;
ptr->x = 1;
ptr->y = 2;
```
C语言外部文件引用结构体
在C语言中,可以将结构体定义放在一个头文件中,并在其他文件中使用该结构体。以下是一个示例:
在头文件 "mystruct.h" 中定义结构体:
```
typedef struct {
int id;
char name[20];
float salary;
} Employee;
```
在其他文件中引用该结构体,可以先包含头文件 "mystruct.h",然后使用结构体类型 Employee:
```
#include "mystruct.h"
int main() {
Employee emp1, emp2;
emp1.id = 1;
strcpy(emp1.name, "John");
emp1.salary = 5000.0;
emp2 = emp1;
printf("%d %s %f\n", emp2.id, emp2.name, emp2.salary);
return 0;
}
```
在上面的示例中,main函数中的第一行包含了头文件 "mystruct.h",然后使用结构体类型 Employee 定义了两个变量 emp1 和 emp2。在后续的代码中,可以使用点运算符访问结构体成员。