Salve,
è possibile accedere ad un nome di variabile dichiarata static all'interno di una funzione se l'assegno dentro la funzione ad un puntatore globale ??
Salve,
è possibile accedere ad un nome di variabile dichiarata static all'interno di una funzione se l'assegno dentro la funzione ad un puntatore globale ??
Teoricamente sì, visto che essendo statica di fatto è come se fosse una variabile globable con ambito di visibilità (ma non di "vita") ridotto a quella funzione, ma mi sembra una richiesta un po' strana; spiega come mai ti serve fare ciò, forse c'è un modo più semplice per farlo.
Amaro C++, il gusto pieno dell'undefined behavior.
E' un caso un pò particolare, progetto universitario dove simulo un sistema operativo con archetettura m ips, quindi non posso usare main e non ho librerie, se non quelle che creo io.
Praticamente ho questo vettore dichiarato static che mi rappresenta una tabella hash dichiarata nella funzione, questo vettore di tipo puntatore punta ai semafori, formati anchessi da un vettore di tipo struct, gestito tramite puntatori(next,prev), quindi, con blocchi puntati dal puntatore a blocchi liberi e/o usati.Questi sono di tipo semaforo, questi ultimi puntano a delle code di processi.
lo static dichiara un vettore di tipo struct che poi faccio puntare da un puntatore globale durante l'inizializzazione del vettore.
al vettore vi accedo in altre funzioni tramite il puntatore globale
più che altro la mia era una domanda che si riferiva all'implementazione dello static
Non puoi rendere globale la variabile static?
Amaro C++, il gusto pieno dell'undefined behavior.
no, nelle specifiche vuole che rimanga locale alla funzioni, che sarà chiamata una sola volta per inizializzare le stutture.