结构体首地址赋值给指针
时间: 2023-07-25 14:15:46 浏览: 84
结构体与指针
是完全合法和常见的操作。在C语言中,结构体变量的名称本身就代表着该结构体的首地址。因此,将结构体变量的名称赋值给一个指向结构体的指针,就相当于将该结构体的首地址赋值给指针。举个例子,假设有如下定义的结构体类型:
```
struct Person {
char name[20];
int age;
};
```
那么可以定义一个指向该结构体类型的指针,并将某个结构体变量的地址赋值给该指针:
```
struct Person p1 = {"Tom", 20};
struct Person *ptr = &p1;
```
在上面的代码中,变量`ptr`就是一个指向结构体`Person`的指针,而变量`p1`的地址通过`&p1`的方式被赋值给了`ptr`。此时,`ptr`指向的就是结构体`p1`的首地址。
阅读全文