【问题标题】:Accessing a variable global structure from within an array从数组中访问变量全局结构
【发布时间】: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


    【解决方案1】:

    在 C 中无法检索在 char * 中指定名称的变量。

    在给定char * 中的字段名称的情况下,C 无法检索结构变量的字段值。

    C 不是 JavaScript。

    【讨论】:

    • 啊,好的,谢谢。不知道它不会那样工作。我想我可能会只使用数字和大小写。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多