Newsgroup: it.comp.lang.c
Titolo: Dichiarazione multipla di variabili static

Salve a tutti, se voglio inizializzare 4 variabili int "static" posso
farlo con un'unica espressione del tipo:
"static int var_a, var_b, var_c, var_d;"
    ?
O devo dichiararle ciascuna con una singola espressione?
E per quelle register?
se dichiaro in questo modo:
register int a, b, c;
dichiaro 3 variabili intere "register" o lo specificatore di memoria ha 
valore solo per la prima variabile?
		grazie anticipatamente, rz

 E per quelle register?
The same.
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

 "static int var_a, var_b, var_c, var_d;"
Se devi fare una cosa del genere è più facile scrivere:
--> static int var[4] = {0};
crei quattro variabili statiche e inizializzate a 0 (in questo caso).
Sono anche più facili da gestire con i cicli.
Ciao
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 crei quattro variabili statiche e inizializzate a 0 (in questo caso).
4 variabili?
Tommy


???
Cosa?




??!?!?!
Cosa??


 Cosa??
Eh?!? ;-)
Tommy
P.S. non e' che crei proprio 4 variabili.....


Provare per credere...
#include <stdio.h>
int main(void)
{
	static int pippo[4] = {0, 1, 2, 3};
	for (int i = 0; i < 4; i++)
	   printf("\n%d: %d", i + 1, pippo[i]);
	getchar();
	return (0);
}
Ciao


 static int pippo[4] = {0, 1, 2, 3};
questo crea "un array statico di interi con 4 elementi" rispettivamente
inizializzati a 0,1,2 e 3. Non crea assolutamente 4 variabili. Sei poco
preciso quando ti esprimi e ... questo puo' confondere altri che sono come
te agli inizi.
Quando ho risposto "4 variabili?" speravo capissi al volo..... ma poi invece
hai risposto con un bel "??!?!?! Cosa??". A quel punto confidando ancora in
te mi sono limitato a dire "non e' che crei proprio 4 variabili....." per
farti capire che sei stato poco preciso (molto poco), ho capito quello che
intendevi, ma... un modo peggiore per esprimerlo non esisteva ;-) E poi te
ne salti fuori con questo ciclo che mi dimostra.... cosa ?!?
Spero che ora tu mi abbia capito....
Tommy

 te agli inizi.
Beh ho capito che sei arrogante come persona!
Non sai neanche con chi hai a che fare...
Forse sarai tu agli inizi.
Per quanto riguarda l'array di elementi,
Lascia che ti dia la definizione di array:
"raggruppamento di variabili dello stesso tipo".
E BASTA


 E BASTA
ahahahah!!!
Io non avevo dato una definizione di che cosa e' un array !!!!
io avevo descritto cosa fa: "static int pippo[4] = {0, 1, 2, 3};"
Poi, gia' che ci siamo, la tua definizione di array e' alquanto brutta ed
imprecisa.... Non puoi vomitare la prima frase piu' o meno sensata e pensare
di aver dato LA definizione ;-)
Tommy

 E BASTA
Allora in un programma uno dovrebbe dichiarare un solo array per ogni tipo
di variabile ?
Non penso che la leggibilita' del programma ne guadagnerebbe.
La mia opinione e' che ogni variabile dovrebbe essere autoesplicativa,
quindi trovo sbagliato insegnare a chi e' alle prime armi un metodo di
lavoro che a lungo termine porta a programmi contorti e incasinati.
Ciao
Giuseppe


Beh se pensi che questa definizione data è brutta e imprecisa, mi sa che
devi studiare meglio.
Per te cosa è un array? Un insieme di COSE???
Ma smettila...


 Non penso che la leggibilita' del programma ne guadagnerebbe.
Non sto dicendo cosa è meglio e cosa è peggio...sta al programmatore
prendere la scelta in base alla situazione da affrontare o al proprio gusto.
Ho soltanto detto che un array, giustamente, è un insieme di variabili
omogenee (dello stesso tipo per intenderci).
E questo lo si trova scritto in tutti i libri decenti di C e C++.
Mi hanno accusato che un array di n elementi non può essere definito come n
variabili dello stesso tipo!
Se la gente non ha la capacità di vedere le cose da prospettive diverse, non
è colpa mia.


 > E BASTA
La tua definizione come accennato e' inacettabile. Ne provo una io ma non e'
facile, io non credo sia cosi' facile come credi tu...
Se qualche persona ha una definizione migliore si facia avanti:
"Un array e' una sequenza finita di dati omogenei e contigui".
Tommy


una sequenza di dati?!?
int pippo[3] = {1, 2, 3};
tu pippo[1] lo consideri una "sequenza di dati"?!?!
A casa mia si chiama variabile intera.
Lascia perdere l'implementazione (interna) di come vengono memorizzati i
dati, tantopiù la contiguità dei dati...
un array è UNA INSIEME OMOGENEO DI VARIABILI DELLO STESSO TIPO.
Poi come viene implementata pippo[1] è un'altro discorso che non riguarda
solo gli array.
Non girare la frittata che con me non funziona


 dati, tantopiù la contiguità dei dati...
Non vorrei dire una cazzata, ma mi pare che lo standard assicuri la 
contiguita' dei dati nella memoria, cosi' come appare al programmatore. 
Altrimenti, penso, l'aritmetica dei puntatori andrebbe a puttane, no...?
Anyway, la discussione mi pare alquanto sterile. Per me una cosa e' 
definita dalla semantica delle operazioni su di essa, e su quella mi 
pare siamo tutti ferrati. Ergo, chiusa li'.


 omogenee (dello stesso tipo per intenderci).
IMHO fra variabile ed elemento c'è una grande differenza.
IMHO si può al massimo affermare che un vettore è un blocco di N elementi
omogenei e consecutivi.
Deep

 un array è UNA INSIEME OMOGENEO DI VARIABILI DELLO STESSO TIPO.
Non è che ti confondi con le struct? Anche se poi le strutture possono
contenere elementi disomogenei.
Deep

 Ma smettila...
la mia definizione te l'ho data nell'altro post...
Tommy

>>>> crei quattro variabili statiche e inizializzate a 0 (in questo caso).
Non crea 4 variabili! Crei un array di 4 elementi; e' diverso!
Se non capisci mi dispiace, taci e documentati e non postare piu'.... questo
post sta diventando ridicolo.
Vediamo di finirla.
Tommy

 da prospettive diverse, non è colpa mia.
?
Tommy

 Ergo, chiusa li'.
Perfettamente d'accordo ;-)
Io evitero' cerchero' di rispondere a qualsiasi altro messaggio di questo
thread (anche ad eventuali ulteriori scioccherie, nel limite del possibile).
Invito AlterX a cercare di fare lo stesso. Questa discussione e' davvero
poco costruttiva e va terminata.
Tommy

Lasciamo perdere tutto!
qui si sta confondendo la definizione di array (chi ha mai detto che non č
contiguo?!? boh...) con la semplice definizione, per chi ha cervello, che
comunque si tratta di un insieme di variabili omogenee.
Qualcuno ha parlato anche delle strutture in modo inappropiato; servono per
contenere dati eterogenei e non centrano niente con quello che stiamo
trattando qui.
Cmq fine thread.
Bye


 Non crea 4 variabili! Crei un array di 4 elementi; e' diverso!
Hai perfettamente ragione, e dimmi come potresti utilizzare questi 4
elementi dell'array in modo diverso da 4 variabili?
o scrivo
int num1, num2, num3;
o
num[3];
SOno la stessa cosa, PARLO SEMPRE DAL PUNTO DI VISTA FUNZIONALE e NON
IMPLEMENTATIVO.
assegno sempre ad un massimo di tre variabili.


 Io non ho mai detto questo.
Allora stiamo dicendo la stessa cosa...


 
Giusto. Per gli elementi in una struct invece non è garantita: gli 
elementi di un array contenuto in una struct sono contigui ma l'ultimo 
elemento dell'array in questione può non precedere un elemento di un 
altro membro della struct.
		ciao, rz.