2016-04-24 6 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]に割り当てられています。

私の考え方に間違いがあり、配列の名前として文字列変数を使用しようとしていると思います。助けてください!

答えて

1

char *でその名前を指定して変数を取得する方法はありません。

char *のフィールド名を与えられた構造変数のフィールド値を取得する方法はありません。

CはJavaScriptではありません。

+0

ああ、ありがとう。そのようにはうまくいかないことは知らなかった。私はおそらく数字と場合を使用すると思います。 – MomoDevi

関連する問題