[Risolto] Variabili... variabili
[Risolto] Variabili... variabili
Se io un vettore chiamato vet con il contenuto questo
_____________
vet=| v | a | r | \0 |
lo passo ad una funzione
stranamente var è il nome di una variabile, posso far stampare il valore di var partendo dal contenuto del vettore?
Cioè usare il contenuto di un vettore di caratteri come nome di una variabile?
E' possibile fare in C una cosa del genere?
_____________
vet=| v | a | r | \0 |
lo passo ad una funzione
stranamente var è il nome di una variabile, posso far stampare il valore di var partendo dal contenuto del vettore?
Cioè usare il contenuto di un vettore di caratteri come nome di una variabile?
E' possibile fare in C una cosa del genere?
Ultima modifica di edgy il mercoledì 20 giugno 2007, 18:01, modificato 1 volta in totale.
Re: Variabili... variabili
Secondo me no. (nono)
Non ne sono completamente sicuro, ma la gestione delle variabili da parte del linguaggio C è diversa da altri linguaggi che invece sono interpretati quali il php (me l'hai detto tu!!), quindi non penso tu possa fargli riconoscere il nome di una variabile attraverso una stringa, anche se sarebbe bello...
Ma perché non studi inglese al posto di pensare a 'ste cazzate??
Non ne sono completamente sicuro, ma la gestione delle variabili da parte del linguaggio C è diversa da altri linguaggi che invece sono interpretati quali il php (me l'hai detto tu!!), quindi non penso tu possa fargli riconoscere il nome di una variabile attraverso una stringa, anche se sarebbe bello...
Ma perché non studi inglese al posto di pensare a 'ste cazzate??
Ultima modifica di Feanaro il venerdì 8 giugno 2007, 16:05, modificato 1 volta in totale.
- marko782
- Scoppiettante Seguace

- Messaggi: 284
- Iscrizione: sabato 24 marzo 2007, 12:53
- Località: Monza (MI)
Re: Variabili... variabili
non credo proprio sia possibile... e tra l' altro ci sarà senz' altro un' altra soluzione (3 altri in una frase sola, sono un mito!)
- difesaparcosempione
- Rampante Reduce

- Messaggi: 6031
- Iscrizione: giovedì 27 luglio 2006, 19:06
- Località: Torino
- Contatti:
Re: Variabili... variabili
peccato io ci speravo 
vah beh vorrà dire che la funziona che risolverà qualsiasi problema possibile e immaginabile non la scriverò in c

vah beh vorrà dire che la funziona che risolverà qualsiasi problema possibile e immaginabile non la scriverò in c
-
marcellinux
- Scoppiettante Seguace

- Messaggi: 500
- Iscrizione: lunedì 9 ottobre 2006, 16:19
- Località: Termoli (Campobasso)
- Contatti:
Re: Variabili... variabili
cmq può servire il c, altrimenti il php nn lo capiresti , le stringhe in c sono dichiarate con char e ogni stringa in c termina con il tappo-terminatore \0
Marcello Cannarsa "marcellinux" - http://www.marcellinux.it - http://www.2-3-1986.tk - http://wiki.ubuntu-it.org/MarcelloCannarsa
Re: Variabili... variabili
se intendi farlo LETTERALMENTE, ti hanno risposto in tanti 
cmq esiste la possibilità degli array associativi, con cui non accedi tramite il numero di sequenza, ma tramite un identificativo(una stringa)...
in c++ è già implementato...
ti consiglio una googolata
Saluti
(b2b)
cmq esiste la possibilità degli array associativi, con cui non accedi tramite il numero di sequenza, ma tramite un identificativo(una stringa)...
in c++ è già implementato...
ti consiglio una googolata
Saluti
(b2b)
Navigammo su fragili vascelli
per affrontar del mondo la burrasca
ed avevamo gli occhi troppo belli...
per affrontar del mondo la burrasca
ed avevamo gli occhi troppo belli...
- micettonero
- Scoppiettante Seguace

- Messaggi: 772
- Iscrizione: domenica 5 febbraio 2006, 11:49
- Contatti:
Re: Variabili... variabili
Sì può fare solo con Python (rotfl) (rotfl)
Linux Registered User #409415
"Nessuno può fabbricare una macchina tanto intelligente che possa essere
usata da uno sciocco" - Confucio
"Nessuno può fabbricare una macchina tanto intelligente che possa essere
usata da uno sciocco" - Confucio
- Guiodic
- Accecante Asceta

- Messaggi: 28474
- Iscrizione: martedì 24 aprile 2007, 15:28
- Località: Roma
- Contatti:
Re: Variabili... variabili
Perchè Python è interpretato, non compilato.micettonero ha scritto: Sì può fare solo con Python (rotfl) (rotfl)
- micettonero
- Scoppiettante Seguace

- Messaggi: 772
- Iscrizione: domenica 5 febbraio 2006, 11:49
- Contatti:
Re: Variabili... variabili
Python è compilato al volo.Guiodic ha scritto:Perchè Python è interpretato, non compilato.micettonero ha scritto: Sì può fare solo con Python (rotfl) (rotfl)
Linux Registered User #409415
"Nessuno può fabbricare una macchina tanto intelligente che possa essere
usata da uno sciocco" - Confucio
"Nessuno può fabbricare una macchina tanto intelligente che possa essere
usata da uno sciocco" - Confucio
Re: Variabili... variabili
Che differenza c'e' tra compilato al volo e interpretato? Cioè viene generato a run-time il file eseguibile?micettonero ha scritto:Python è compilato al volo.Guiodic ha scritto:Perchè Python è interpretato, non compilato.micettonero ha scritto: Sì può fare solo con Python (rotfl) (rotfl)
Non sempre si può prevedere, ma ci si può sempre preparare
- micettonero
- Scoppiettante Seguace

- Messaggi: 772
- Iscrizione: domenica 5 febbraio 2006, 11:49
- Contatti:
Re: Variabili... variabili
Esatto. Se i linguaggi interpretati vengono eseguiti linea per linea (grossolanamente), Python viene prima compilato e poi eseguito.
Linux Registered User #409415
"Nessuno può fabbricare una macchina tanto intelligente che possa essere
usata da uno sciocco" - Confucio
"Nessuno può fabbricare una macchina tanto intelligente che possa essere
usata da uno sciocco" - Confucio
Re: Variabili... variabili
Con questo sistema sembrerebbe fondere i vantaggi di linguaggi compilati e interpretati (ma anche i difetti...)Esatto. Se i linguaggi interpretati vengono eseguiti linea per linea (grossolanamente), Python viene prima compilato e poi eseguito.
Non sempre si può prevedere, ma ci si può sempre preparare
Re: Variabili... variabili
C'è un trucco

Codice: Seleziona tutto
#include <stdio.h>
#define print(x) _print(#x, x)
void _print(char *name, int val) {
printf ("%s <%d>\n", name, val);
}
int main() {
int x=10;
int y=20;
print(x);
print(y);
return(0);
}Re: Variabili... variabili
qual è il significato del carattere # prima della variabile?paper0k ha scritto: C'è un trucco![]()
Codice: Seleziona tutto
#include <stdio.h> #define print(x) _print(#x, x) void _print(char *name, int val) { printf ("%s <%d>\n", name, val); } int main() { int x=10; int y=20; print(x); print(y); return(0); }![]()
e cmq mi sembra che non debba funzionare su print(y) :P
Ultima modifica di thelo il mercoledì 13 giugno 2007, 9:47, modificato 1 volta in totale.
Navigammo su fragili vascelli
per affrontar del mondo la burrasca
ed avevamo gli occhi troppo belli...
per affrontar del mondo la burrasca
ed avevamo gli occhi troppo belli...
Re: Variabili... variabili
PREMESSA : ho programmato in Qbasic , GWBasic , VisualBasic , quindi non so niente di C++ , pero' trattandosi di Vettori e Variabili....
da quello che ho capito hai un vettore di caratteri (Stringa) che contiene il nome di una variabile
e tu vuoi che passando questo vettore succeda qualcosa legato alla Variabile...
Consiglio :
una procedura tipo :
Stampa la variabile col nome contenuto in vet
If vet = "var/0" then
print var/0
end
non e' indicata ?
-----------Onilrem---------
da quello che ho capito hai un vettore di caratteri (Stringa) che contiene il nome di una variabile
e tu vuoi che passando questo vettore succeda qualcosa legato alla Variabile...
Consiglio :
una procedura tipo :
Stampa la variabile col nome contenuto in vet
If vet = "var/0" then
print var/0
end
non e' indicata ?
-----------Onilrem---------
Da quando uso Linux , lavoro di piu' !
Re: Variabili... variabili
se si trattasse di una stringa potresti usare qualcosa come eval (ma non mi ricordo se esiste in c).
- Guiodic
- Accecante Asceta

- Messaggi: 28474
- Iscrizione: martedì 24 aprile 2007, 15:28
- Località: Roma
- Contatti:
Re: Variabili... variabili
Ma se hai molte variabili dovresti fare tanti controlli ... non è pratico, oltre ad essere poco elegante.Onilrem ha scritto: PREMESSA : ho programmato in Qbasic , GWBasic , VisualBasic , quindi non so niente di C++ , pero' trattandosi di Vettori e Variabili....
da quello che ho capito hai un vettore di caratteri (Stringa) che contiene il nome di una variabile
e tu vuoi che passando questo vettore succeda qualcosa legato alla Variabile...
Consiglio :
una procedura tipo :
Stampa la variabile col nome contenuto in vet
If vet = "var/0" then
print var/0
end
non e' indicata ?
-----------Onilrem---------
Re: Variabili... variabili
beh certo, si può fare...Onilrem ha scritto: PREMESSA : ho programmato in Qbasic , GWBasic , VisualBasic , quindi non so niente di C++ , pero' trattandosi di Vettori e Variabili....
da quello che ho capito hai un vettore di caratteri (Stringa) che contiene il nome di una variabile
e tu vuoi che passando questo vettore succeda qualcosa legato alla Variabile...
Consiglio :
una procedura tipo :
Stampa la variabile col nome contenuto in vet
If vet = "var/0" then
print var/0
end
non e' indicata ?
-----------Onilrem---------
finchè il programma contiene 5 o 6 variabili :D
se il programma se contiene 350 la cosa è per lo meno antiestetica :)
senza contare il fatto che modificando il sorgente, ogni volta che aggiungi una nuona variabile dovresti modificare anche la funzione
Saluti
(b2b)
Navigammo su fragili vascelli
per affrontar del mondo la burrasca
ed avevamo gli occhi troppo belli...
per affrontar del mondo la burrasca
ed avevamo gli occhi troppo belli...
Re: Variabili... variabili
mi spiegheresti perchè funziona questo trucco e che è quel cancelletto?paper0k ha scritto: C'è un trucco![]()
Codice: Seleziona tutto
#include <stdio.h> #define print(x) _print(#x, x) void _print(char *name, int val) { printf ("%s <%d>\n", name, val); } int main() { int x=10; int y=20; print(x); print(y); return(0); }![]()
La mia idea era di avere una lista di strutture e fare una funzione tipo ordina lista, passando come parametro il campo della struttura su cui bisogna fare il controllo,
Se riuscissi a fare questo, avrei una funzione sola per ordinale qualsiasi tipo di lista senza più dover mettere mano alla funzione, ma semplicemente passando ogni volta il nome del campo diverso su cui fare il controllo.
Fino ad oggi credevo non fosse possibile, ma ci ho provato non si sa mai, e in effetti questo (per me strano) operatore "#" forse può aiutarmi, ma nulla può senza una delucidazione da parte di paper0k.
Va bene anche un qualsiasi link a qualche pagina che ne parli approfonditamente in modo da togliermi qualsiasi dubbio (basta che non sia in inglese
ahh perchè non posso usare il php (il mio linguaggio preferito) o altri linguaggi che permettono l'uso delle variabili di variabili?
Semplice perchè l'esame che devo dare è in c
Ultima modifica di edgy il mercoledì 13 giugno 2007, 23:43, modificato 1 volta in totale.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti