以前は、機能する配列を取得する関数f(double *a)
がありました。正しい位置を取得するためには、配列上で動作する必要があります。f(a+offset)
と呼び、offset
という整数です。今私は、コードを再加工し、私は、カスタム構造体定義された:構造体のポインタを関数呼び出しで使用するときにポインタを追加する
typedef struct{
double *a;
} struName;
をし、機能がf(struName *a)
に変更しました。今私は、新しい一時的なstruct
を作成することなく、またはf(struName *a)
からf(struName *a, int offset)
に機能を変更することなく、機能にオフセットをどのように得ることができるのだろうかと思っていました。それも可能ですか?
なぜ関数プロトタイプを 'f(struName * a)'に変更したのですか?それはまだ 'f(variabelname.a + offset) 'で動作するはずです。 –
関数を変更することは、これまでにない最もクリーンな解決策のようです。これを行うことができない場合は、オフセットメンバをstructにオプションとして追加しますか? – Lundin