関数を書くとします。 int read_file (char *filename, void *abc)
ファイルを読み込んで数値を配列に入れます。abc
が指しています。 voidポインタを使用する必要があります - int *abc
voidの代わりにどうすればいいのですか?abc
は構文的に配列のように扱い、abc[0]=1
のようなことをしますが、ここではそれを行うことはできませんvoidポインタ無効ポインタを理解していない/キャストする方法? (Cプログラミング)
私はあまりvoidポインターに精通していませんし、これをどのように機能させるべきですか。助けてください!私はコードを掲示しないことを好みます。これは学校の割り当てのためのもので、ファイルの情報をabc
で指し示されている配列にどのように置くか知りたがります。
int abc
で指定されている場合は、ファイル情報を配列に格納することに既に精通しています。
尋ねる内容が不明です。 [ask]を参照し、[mcve]を提供してください。 – Olaf
@Olaf - 明確ではないことはありますか?この男には 'void *'パラメータ( 'int'配列へのポインタを含んでいることがわかっています)を渡す関数があり、' int'配列にどのようにアクセスするのか不思議です。宿題で、彼は明らかにCの基礎を学んでいます。 –
なぜ関数引数リストで 'void *'を使わなければならないのですか?あなたは常にそれが指されている 'int'の配列であることを知っていますか?関数の引数リストで 'void *'を使う必要があるが、それが常に舞台裏で 'int *'であることがわかっているなら、 'int read_file(char * filename、void * vp_abc){int * abc = vp_abc; ...残りのコードを...} ' - 単純に無意味なvoidポインタをあなたが本当に望むタイプに強制します。 –