- ベストアンサー
関数内で引数の別名称を定義したい
関数への引数として構造体のポインタを指定しているのですが、 その構造体のある要素については関数内で別名称を使用したいと思っています。 単純化した例をあげますと //child --------------------- typedef struct{ char bookTitle[100]; int pageNum; } Book; //parent --------------------- typedef struct{ Book book[1000]; int bookNum; } Library; void bookSet(Library *lib); という構造体と関数に関してbookSet関数内ではlib->pageNumをpNumという名称で使いたいです。 普通はbookSet(int pNum)と定義して引数に構造体の要素を渡すと思うのですが、その場合プログラムを書き換える(構造体の他のメンバにもアクセスする)時にいちいち引数を指定しなおさなければならず、また引数に何が入っているのかをすべて確認しなければいけないので他の方法を模索しています。 今のところdefineとifdefを使うしかないかなと考えているのですが… 同じような経験をお持ちで、よいアイディアありましたらお待ちしてます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- machongola
- ベストアンサー率60% (434/720)
回答No.2
お礼
回答ありがとうございます。失礼しましたBookの方です。 やはりポインタかdefineを使うことになるのでしょうか。C++なら参照も使えるのですね。 いろいろ試してみます。ありがとうございます。