如何使用指向结构数组的指针并访问数组特定索引处的结构

问题描述 投票:0回答:1

让我们有一个结构体structure_s,其中包含元素par1(int)和par2[](int数组)。在函数中,我们必须在结构 [m] 中的特定索引处找到 par2 的总和?你是怎么做到的?

int function(struct structure_s *ps){
   //something that determinates index
  
    for(int j = 0; j < m; j++){
   //and now how do I get to the structures[index].par2[j]
    }
}

//the variables n and m are known beforehand
struct structure_s{
   int par1;
   int par2[n];
}

int main(void){
  struct structure_s structures[m];
  int sum = function(structures);
  //etc.

不幸的是,他们没有在课堂上展示这一点,我找不到太多有用的信息。

我尝试过使用 (*(ps + index)).par2[j],但它不起作用,它说指向未定义类型的指针。我还想也许当我将它传递给函数时应该是 &structs,但仍然是同样的错误。还有 (p)[index].par2[j] 和 ((p)[index]).par2[j],但不知道该使用什么。有什么想法怎么做吗?

c pointers struct structure
1个回答
0
投票

您的

m
数组中有
structures
个元素,每个元素都有一个由
int
元素组成的
n
数组。

这是循环结构和项目内数组的方法:

for (i = 0; i < m; i++) {
    for (j = 0; j < n; j++) {
        //do something with ps[i].par[j]
    }
}

我没有声明变量,我想它们已经被声明了。

© www.soinside.com 2019 - 2024. All rights reserved.