2016-04-24 77 views
1

我有一个函数将用于从不同的全局结构中提取数据。所以,我试图将一个char数组传递给函数,该函数告诉函数从哪个全局结构中提取(通过命名)。但是,我无法按预期工作! (我是C的初学者)。从数组内部访问变量全局结构

示例代码:

#include<stdio.h> 

// linear interpolation 
float linearInterp(int userTime, char* structure[], char* array[]) 
{ 
    printf("%d", structure[1].array); 
} // end float linearInterp() 

struct heartRate 
{ 
    int time; 
    int beats; 
    char units[8]; 
} HR[50]; 


int main() 
{ 
    float val1; 
    HR[1].beats = 2300; 
    char beating[6] = "beats"; 
    char *p = beating; 
    char hring[3] = "HR"; 
    char *ph = hring; 

    val1 = linearInterp(5, beating, hring); // note: attempted with both p and ph vs beating and hring 
} // end int main() 

,因为它只是给出了错误的代码:“会员‘数组’请求中的东西不结构或联合

理想情况下,我的代码将返回在主函数2300中分配给HR [1] .beats的值。

我认为我的思路可能有问题,试图在c中使用字符串变量作为数组的名称。任何帮助!

回答

1

C中没有办法在char *中检索给定名称的变量。

char *中,C中没有办法检索结构变量的字段值。

C不是JavaScript。

+0

啊好的,谢谢。不知道它不会那样工作。那么我想我只会使用数字和案例。 – MomoDevi