2016-12-21 35 views
-1

は、コードを考えてみましょう。この場合structメンバーを渡すのですか?私はこれについていくつかの似たような話題を見ましたが、そのアイデアを私のコードに導入することはできませんでした(私は完全なCの初心者です)。 私はどんな助けもありますが、特にコードの明確な例があります。構造体変数と構造体メンバ

Btw。私はscanfを使うべきではないことを知っていますが、それは単なる例です。私は関数のパラメータで構造体メンバを渡す方法を知っているときに何か他のことをします。

+0

'structarr'はもしかして、タイプ'のchar * ''であるstructvar'? –

+0

あなたの問題とは無関係ですが、ループの読み込み入力では、同じデータ*を2回入力する必要があります。 –

+0

関数パラメータのどれも構造体なので、この質問は意味をなさない。あなたが意味することが明確になるように編集してください。 – Lundin

答えて

0

私が理解しているように、あなたの問題は本当にできません。 takeString関数を単一の文字列引数だけにし、その文字列に入力を読み込むことを検討してください。

次に、正しい文字列を配列と構造体から関数に渡します。これは、別のによって実行できます。この関数は、読み込む構造体にポインタ(またはインデックス)をとります。

おそらく、この擬似コードのようなもの:

void takeString(char *string) 
{ 
    scanf("...", string); 
} 

void takeStructure(int arrayIndex) 
{ 
    ... 
    takeString(gifts[arrayIndex].city); 
    ... 
} 
+0

それは私が働いていることです!だから、メンバ(この例ではメンバー 'city'の上にある)を関数の引数に渡すことはできないのですか? –

+0

@angrysomoanいいえメンバーのシンボルを渡すことはできません。 –