E' possibile definire in c una direttiva del tipo
codice:
#define NOME_MACRO nome_variabile_da_leggere_da_tastiera
int main(){
scanf("%d",nome_variabile_da_leggere_da_tastiera
int array[NOME_MACRO]
}
Praticamente ho provato un codice simile su linux
codice:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <time.h>
#define N n
int glob;
void* routine(void * arg){
sleep(rand()%10+1);
glob++;
printf("\nglob = %d \n",glob);
fflush(stdout);
return (void *)0;
}
int main()
{
register int i;
int n;
srand((unsigned int)time(NULL));
printf("Inserisci il valore di n ");
fflush(stdout);
scanf("%d",&n);
pthread_t tid[N];
for(i=0;i<N;i++){
pthread_create(&tid[i],NULL,routine,NULL);
}
for(i=0;i<N;i++){
pthread_join(tid[i],NULL);
}
return 0;
}
Funziona !! com'è possibile?