【发布时间】:2016-03-26 20:20:06
【问题描述】:
我想弄清楚如何将数组索引传递给另一个函数。
这里有:
for(i=0; i<file_cnt; i++){
iret1 = pthread_create(&(file[i]), NULL, get_checksum, (void*)&filenames[i]);
printf("%s\n", filenames[i]);
}
在 get_checksum 函数中,我最终需要文件名的索引,但 i 在该函数中不可用。
在get_checksum函数中,
void* get_checksum(void* a){
char *filename = (char *) a;
.....
}
我将a 作为与filenames[i] 相关的字符指针传入。
但是,我需要稍后在函数中进行计算:get_checksum这涉及获取总和数组的索引。因此,我确实需要将filenames 的索引传递给函数get_checksum。
对如何将数组索引传递给另一个函数有什么建议吗?
【问题讨论】:
-
创建一个结构,用所有相关参数填充结构,并将其传递给 pthread_create - amparo.net/ce155/thread-ex.html