плохо знакомы с C и с трудом понимают указатели. У меня есть задание, которое хочет, чтобы я передал слово в цепочку, а затем изменил слово. Я передал слово потоку в функцию, но я не знаю, как его перебрать. Какой правильный синтаксис?
void *reverse_string(void *str)
{
// This function is called when the new thread is created
printf("In funciton reverse_string(). The value is %s\n", str);
char *p = (char *)str;
for(int i = 0; i < 7; i++) // loop not working for printing elements in array
{
p[i] = i;
printf("%s ....\n", p);
}
pthread_exit(NULL); // exit the thread
}
int main(int argc, char *argv[])
{
/* The main program creates a new thread and then exits. */
pthread_t threadID;
int status;
char * word = "SkAtIng";
//char *p = word;
printf("In function main(): Creating a new thread\n");
// create a new thread in the calling process
// a function name represents the address of the function
status = pthread_create(&threadID, NULL, reverse_string, (void*) word);
// After the new thread finish execution
printf("In function main(): The new thread ID = %d\n", threadID);
if (status != 0) {
printf("Oops. pthread create returned error code %d\n", &status);
exit(-1);
}
printf("\n");
exit(0);
}