Вы не показываете детали "Create var ..." вашей программы, но, как правильно ответил Кристофер Хант, если она не объявлена как static, она исчезнет, когда функция func1 () вернется.Но что еще хуже, вы сказали «нет необходимости в какой-либо передаче данных», и если вы создаете var один раз и обращаетесь к нему из нескольких потоков, у вас возникает «передача данных» независимо от того, хотите вы этого или нет (и координация этого параллельного доступаэто зависит от вас).
Если вы хотите, чтобы каждый поток действительно имел свою собственную копию, с которой он мог связываться, не мешая другим потокам, вы можете дублировать его перед каждым вызовом pthread_create ().Например, вы можете вызвать strdup (), чтобы выделить личную копию строки для нового потока и передать эту копию в pthread_create ().