【发布时间】:2016-04-24 06:21:00
【问题描述】:
我有一个函数用于从不同的全局结构中提取数据。所以,我试图将一个 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()
代码只是给出了错误:“在不是结构或联合的东西中请求成员'数组'。
理想情况下,我的代码将返回分配给主函数中 HR[1].beats 的值 2300。
我相信我的思路可能有问题,试图在c中使用字符串变量作为数组的名称。感谢您的帮助!
【问题讨论】:
标签: c function variables pointers