结构体数组变量前有个.什么意思
时间: 2024-05-25 22:13:30 浏览: 14
在结构体数组变量前加一个`.`表示访问该结构体数组中某个元素的成员变量。例如,如果有一个名为`students`的结构体数组,其中每个元素都有`name`和`age`两个成员变量,则可以使用`students[0].name`来访问第一个元素的`name`成员变量。这个`.`符号是C语言中的结构体成员运算符。
相关问题
结构体数组和结构体数组变量的区别
结构体数组是由多个相同结构体类型的元素组成的数组,而结构体数组变量则是指向结构体数组的指针变量。
结构体数组在内存中是连续存放的,可以通过下标访问每个元素,也可以使用循环遍历数组中的所有元素。结构体数组变量则需要先分配内存空间,然后才能使用。
例如,定义一个结构体类型为Person,包含姓名和年龄两个成员变量。如果要定义一个包含三个Person类型元素的结构体数组,可以如下定义:
```
struct Person {
char name[20];
int age;
};
struct Person people; // 定义包含三个Person类型元素的结构体数组
```
而如果要定义一个结构体数组变量people_ptr来指向上述结构体数组,则可以如下定义:
```
struct Person *people_ptr = people; // 结构体数组变量people作为结构体数组指针people_ptr的初始化值
```
结构体数组变量初始化举例
结构体数组变量初始化的一般形式为:
```
struct MyStruct array[] = {
{value1, value2, value3, ...},
{value4, value5, value6, ...},
...
};
```
其中,`MyStruct` 是结构体类型,`array` 是结构体数组变量名,花括号中是结构体数组的具体值,每个花括号内部表示一个结构体变量。
举个例子,如果有一个结构体类型为 `Person`,包含 `name` 和 `age` 两个成员变量,可以用以下方式定义一个包含三个人信息的结构体数组:
```
struct Person {
char name[20];
int age;
};
struct Person people[] = {
{"Tom", 20},
{"Jerry", 22},
{"Alice", 18}
};
```
上述代码中,定义了一个结构体类型 `Person`,包含 `name` 和 `age` 两个成员变量。然后通过初始化方式定义了一个结构体数组 `people`,包含三个元素,每个元素都是 `Person` 类型的结构体变量,并分别初始化了成员变量 `name` 和 `age` 的值。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)