C语言实现,有结构体A,成员变量包含x,和y,有6个不连续存储的A结构体,如何根据1到6任意一个数字快速访问成员变量x和y
时间: 2024-02-18 15:05:18 浏览: 22
如果6个A结构体不是连续存储的,那么我们可以使用指针数组来快速访问成员变量x和y,具体步骤如下:
1. 定义结构体A,包含成员变量x和y;
2. 定义一个指针数组,用于存储6个A结构体的地址;
3. 根据1到6任意一个数字n,访问第n个A结构体的成员变量x和y。
下面是示例代码:
```c
#include <stdio.h>
struct A {
int x;
int y;
};
int main() {
struct A a1 = {1, 2};
struct A a2 = {3, 4};
struct A a3 = {5, 6};
struct A a4 = {7, 8};
struct A a5 = {9, 10};
struct A a6 = {11, 12};
struct A* arr[6] = {&a1, &a2, &a3, &a4, &a5, &a6};
// 根据数字n访问第n个A结构体的成员变量x和y
int n = 3;
printf("x = %d, y = %d\n", arr[n - 1]->x, arr[n - 1]->y);
return 0;
}
```
在上面的代码中,我们定义了一个结构体A,包含成员变量x和y。然后定义了6个不连续存储的A结构体a1、a2、a3、a4、a5、a6,并使用指针数组arr存储了这6个A结构体的地址。我们可以根据数字n访问第n个A结构体的成员变量x和y。在示例代码中,我们访问第3个A结构体的成员变量x和y,输出结果为x = 5, y = 6。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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_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)
![](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)