#include<stdio.h>
#include<pthread.h>
#include<unistd.h>
#include<stdint.h>
int globalVariable = 5;
void *threadFunct(void *arg) {
int localVariable = (int)(intptr_t)arg;
printf("[Thread] global: %d local: %d\n", globalVariable, localVariable);
globalVariable++;
localVariable++;
printf("[Thread] global: %d local: %d\n", globalVariable, localVariable);
pthread_exit(NULL);
}
int main() {
int localVariable = 3;
printf("[Main] global: %d local: %d\n", globalVariable, localVariable);
pthread_t thread;
printf("[Main] Create thread\n");
pthread_create(&thread, NULL, &threadFunct, (void *)(intptr_t)localVariable);
pthread_join(thread, NULL);
printf("[Main] global: %d local: %d\n", globalVariable, localVariable);
return 0;
}