配列インデックスを別の関数に渡す方法を理解しようとしています。ここで配列インデックスをcの別の関数に渡す方法
私が持っている:機能get_checksum
で
for(i=0; i<file_cnt; i++){
iret1 = pthread_create(&(file[i]), NULL, get_checksum, (void*)&filenames[i]);
printf("%s\n", filenames[i]);
}
、私は最終的にファイル名のインデックスが必要ですが、i
は、その関数では使用できません。 get_checksum
関数で
、
void* get_checksum(void* a){
char *filename = (char *) a;
.....
}
Iはfilenames[i]
に関してチャーポインタとしてa
で渡されます。
しかし、後で関数の中で計算する必要があります:get_checksum
合計の配列のインデックスを取得する必要があります。したがって、実際にfilenames
というインデックスを関数get_checksum
に渡す必要があります。
配列インデックスを別の関数に渡す方法はありますか?
構造体を作成し、関連するすべてのパラメータを構造体に代入し、pthread_createに渡します - http://www.amparo.net/ce155/thread-ex.html – OldProgrammer