12/06/10 9:58
Postato originariamente da Pitagora:
Che differenza ci sono in questi pezzi di codice ?
suit è un vettore di puntatori a valori interi. L'inizializzazione è sbagliata in quanto dovrebbe essere un vettore di puntatori a char, ovvero
In questo caso
hai solamente un vettori di valori interi. Anche questa inizializzazione, a maggior ragione, è sbagliata ... potrebbe essere
Questa
è tutta sbagliata ... sia per la ] finale, sia per il fatto che utilizzi i singoli apici ' per racchiudere una stringa costante (dovresti usare le virgolette " ... " )
Se fosse stata scritta
char string[] = {"ciao"};
o anche così
char string[] = "ciao";
avresti avuto un vettore in memoria inizializzato con il dato tra virgolette.
con questo
In questo modo, dichiari un puntatore ad una stringa costante. L'area della stringa non è modificabile (in quanto costante).
Ultima domanda: c'è differenza tra gli apici ' e i doppi apici " ?
Ovviamente ... il singolo apice è usato per racchiudere un dato di tipo char, ad esempio
'A'
rappresenta solamente un byte con il codice ASCII del carattere indicato, mentre le virgolette sono usate per racchiudere delle costanti di tipo vettore di char, ad esempio
"ciao"
indica che esiste in memoria un vettore di caratteri terminati da zero binario ovvero una zona di memoria che contiene
c i a o Postato originariamente da Pitagora:
Che differenza ci sono in questi pezzi di codice ?
suit è un vettore di puntatori a valori interi. L'inizializzazione è sbagliata in quanto dovrebbe essere un vettore di puntatori a char, ovvero
In questo caso
hai solamente un vettori di valori interi. Anche questa inizializzazione, a maggior ragione, è sbagliata ... potrebbe essere
Questa
è tutta sbagliata ... sia per la ] finale, sia per il fatto che utilizzi i singoli apici ' per racchiudere una stringa costante (dovresti usare le virgolette " ... " )
Se fosse stata scritta
char string[] = {"ciao"};
o anche così
char string[] = "ciao";
avresti avuto un vettore in memoria inizializzato con il dato tra virgolette.
con questo
In questo modo, dichiari un puntatore ad una stringa costante. L'area della stringa non è modificabile (in quanto costante).
Ultima domanda: c'è differenza tra gli apici ' e i doppi apici " ?
Ovviamente ... il singolo apice è usato per racchiudere un dato di tipo char, ad esempio
'A'
rappresenta solamente un byte con il codice ASCII del carattere indicato, mentre le virgolette sono usate per racchiudere delle costanti di tipo vettore di char, ad esempio
"ciao"
indica che esiste in memoria un vettore di caratteri terminati da zero binario ovvero una zona di memoria che contiene
c i a o {parsed_message}
Comunque, dalle domande che hai fatto, penso che le tue lacune non si fermino solamente ai puntatori ... dovresti rivedere *bene* i tipi di dati trattati dal C.
Comunque, dalle domande che hai fatto, penso che le tue lacune non si fermino solamente ai puntatori ... dovresti rivedere *bene* i tipi di dati trattati dal C.
Che differenza ci sono in questi pezzi di codice ?
int *suit[4] = {"cuori", "quadri", "fiori", "picche"}
suit è un vettore di puntatori a valori interi. L'inizializzazione è sbagliata in quanto dovrebbe essere un vettore di puntatori a char, ovvero
char *suit[4] = {"cuori", "quadri", "fiori", "picche"};
In questo caso
int suit[4] = {"cuori", "quadri", "fiori", "picche"}
hai solamente un vettori di valori interi. Anche questa inizializzazione, a maggior ragione, è sbagliata ... potrebbe essere
int suit[4] = {1, 2, 3, 4};
Questa
char string[] = {'ciao']
è tutta sbagliata ... sia per la ] finale, sia per il fatto che utilizzi i singoli apici ' per racchiudere una stringa costante (dovresti usare le virgolette " ... " )
Se fosse stata scritta
char string[] = {"ciao"};
o anche così
char string[] = "ciao";
avresti avuto un vettore in memoria inizializzato con il dato tra virgolette.
con questo
char *string = "ciao"
In questo modo, dichiari un puntatore ad una stringa costante. L'area della stringa non è modificabile (in quanto costante).
Ultima domanda: c'è differenza tra gli apici ' e i doppi apici " ?
Ovviamente ... il singolo apice è usato per racchiudere un dato di tipo char, ad esempio
'A'
rappresenta solamente un byte con il codice ASCII del carattere indicato, mentre le virgolette sono usate per racchiudere delle costanti di tipo vettore di char, ad esempio
"ciao"
indica che esiste in memoria un vettore di caratteri terminati da zero binario ovvero una zona di memoria che contiene
c i a o Postato originariamente da Pitagora:
Che differenza ci sono in questi pezzi di codice ?
int *suit[4] = {"cuori", "quadri", "fiori", "picche"}
suit è un vettore di puntatori a valori interi. L'inizializzazione è sbagliata in quanto dovrebbe essere un vettore di puntatori a char, ovvero
char *suit[4] = {"cuori", "quadri", "fiori", "picche"};
In questo caso
int suit[4] = {"cuori", "quadri", "fiori", "picche"}
hai solamente un vettori di valori interi. Anche questa inizializzazione, a maggior ragione, è sbagliata ... potrebbe essere
int suit[4] = {1, 2, 3, 4};
Questa
char string[] = {'ciao']
è tutta sbagliata ... sia per la ] finale, sia per il fatto che utilizzi i singoli apici ' per racchiudere una stringa costante (dovresti usare le virgolette " ... " )
Se fosse stata scritta
char string[] = {"ciao"};
o anche così
char string[] = "ciao";
avresti avuto un vettore in memoria inizializzato con il dato tra virgolette.
con questo
char *string = "ciao"
In questo modo, dichiari un puntatore ad una stringa costante. L'area della stringa non è modificabile (in quanto costante).
Ultima domanda: c'è differenza tra gli apici ' e i doppi apici " ?
Ovviamente ... il singolo apice è usato per racchiudere un dato di tipo char, ad esempio
'A'
rappresenta solamente un byte con il codice ASCII del carattere indicato, mentre le virgolette sono usate per racchiudere delle costanti di tipo vettore di char, ad esempio
"ciao"
indica che esiste in memoria un vettore di caratteri terminati da zero binario ovvero una zona di memoria che contiene
c i a o {parsed_message}
Comunque, dalle domande che hai fatto, penso che le tue lacune non si fermino solamente ai puntatori ... dovresti rivedere *bene* i tipi di dati trattati dal C.
Comunque, dalle domande che hai fatto, penso che le tue lacune non si fermino solamente ai puntatori ... dovresti rivedere *bene* i tipi di dati trattati dal C.
12/06/10 10:39
grazie. Scusa per gli errori (int - char e ] - }) ma andavo di fretta. Oltre alla correzione non mi hai spiegato la differenza tra i primi 2 esempi ... Ti sei soffermato nel dire:
suit è un vettore di puntatori a valori interi grazie ma questo lo sapevo
un altro dubbio che mi è sorto:
suit è un vettore di puntatori a valori interi grazie ma questo lo sapevo
un altro dubbio che mi è sorto:
lo stesso sarebbe di questo:
La differenza tra i due sarebbe che il primo è costante e non può essere modificato. Il secondo invece è variabile e può essere modificato. (quello che è stato scritto da nessuno^)
quindi
lo stesso sarebbe di questo:
suit è un vettore di puntatori a valori interi grazie ma questo lo sapevo
un altro dubbio che mi è sorto:
lo stesso sarebbe di questo:
La differenza tra i due sarebbe che il primo è costante e non può essere modificato. Il secondo invece è variabile e può essere modificato. (quello che è stato scritto da nessuno^)
quindi
La differenza tra i due sarebbe che il primo è costante e non può essere modificato. Il secondo invece è variabile e può essere modificato. (quello che è stato scritto da nessuno^)
quindi
suit è un vettore di puntatori a valori interi grazie ma questo lo sapevo
un altro dubbio che mi è sorto:
char *string = "ciao"sarebbe in realtà così giusto ? c i a o grazie. Scusa per gli errori (int - char e ] - }) ma andavo di fretta. Oltre alla correzione non mi hai spiegato la differenza tra i primi 2 esempi ... Ti sei soffermato nel dire:
suit è un vettore di puntatori a valori interi grazie ma questo lo sapevo
un altro dubbio che mi è sorto:
char *string = "ciao"sarebbe in realtà così giusto ? c i a o {parsed_message}
lo stesso sarebbe di questo:
char string[] = {"ciao"}sarebbe in realtà così giusto ? c i a o {parsed_message}
La differenza tra i due sarebbe che il primo è costante e non può essere modificato. Il secondo invece è variabile e può essere modificato. (quello che è stato scritto da nessuno^)
quindi
*(string + 1)sarebbe uguale a i giusto ?
lo stesso sarebbe di questo:
char string[] = {"ciao"}sarebbe in realtà così giusto ? c i a o grazie. Scusa per gli errori (int - char e ] - }) ma andavo di fretta. Oltre alla correzione non mi hai spiegato la differenza tra i primi 2 esempi ... Ti sei soffermato nel dire:
suit è un vettore di puntatori a valori interi grazie ma questo lo sapevo
un altro dubbio che mi è sorto:
char *string = "ciao"sarebbe in realtà così giusto ? c i a o {parsed_message}
lo stesso sarebbe di questo:
char string[] = {"ciao"}sarebbe in realtà così giusto ? c i a o {parsed_message}
La differenza tra i due sarebbe che il primo è costante e non può essere modificato. Il secondo invece è variabile e può essere modificato. (quello che è stato scritto da nessuno^)
quindi
*(string + 1)sarebbe uguale a i giusto ?
La differenza tra i due sarebbe che il primo è costante e non può essere modificato. Il secondo invece è variabile e può essere modificato. (quello che è stato scritto da nessuno^)
quindi
*(string + 1)sarebbe uguale a i giusto ?
Ultima modifica effettuata da 12/06/10 10:54
12/06/10 10:55
Postato originariamente da Pitagora:
non mi hai spiegato la differenza tra i 4 esempi
non mi hai spiegato la differenza tra i 4 esempi
Forse non l'hai letta o capita ...
Ti sei soffermato nel dire:
suit è un vettore di puntatori a valori interi grazie ma questo lo sapevo
suit è un vettore di puntatori a valori interi grazie ma questo lo sapevo
Scusa ma se veramente lo sapevi, come mai l'hai inizializzato con una lista di costanti stringa? Forse non sai esattamente cosa sia un vettore di puntatore ad interi, ecco perché te l'ho ricordato ...
sarebbe in realtà così giusto ? c i a o
Forse non l'hai letta o capita ...
Scusa ma se veramente lo sapevi, come mai l'hai inizializzato con una lista di costanti stringa? Forse non sai esattamente cosa sia un vettore di puntatore ad interi, ecco perché te l'ho ricordato ...
In memoria sì ... come ti ho detto già, il primo è un vettore che potrai modificare, il secondo è un puntatore ad un vettore di dati costanti.
Sì
In tutte queste tue domande, comunque, non sono quasi mai entrati i
vettori di puntatori
che avevi messo come titolo del thread ...
Postato originariamente da Pitagora:
non mi hai spiegato la differenza tra i 4 esempi
non mi hai spiegato la differenza tra i 4 esempi
Forse non l'hai letta o capita ...
Ti sei soffermato nel dire:
suit è un vettore di puntatori a valori interi grazie ma questo lo sapevo
suit è un vettore di puntatori a valori interi grazie ma questo lo sapevo
Scusa ma se veramente lo sapevi, come mai l'hai inizializzato con una lista di costanti stringa? Forse non sai esattamente cosa sia un vettore di puntatore ad interi, ecco perché te l'ho ricordato ...
sarebbe in realtà così giusto ? c i a o {parsed_message}
In memoria sì ... come ti ho detto già, il primo è un vettore che potrai modificare, il secondo è un puntatore ad un vettore di dati costanti.
quindi
Codice sorgente
*(string + 1)
sarebbe uguale a i giusto ?
Codice sorgente
*(string + 1)
sarebbe uguale a i giusto ?
Sì
In tutte queste tue domande, comunque, non sono quasi mai entrati i
vettori di puntatori
che avevi messo come titolo del thread ...
In memoria sì ... come ti ho detto già, il primo è un vettore che potrai modificare, il secondo è un puntatore ad un vettore di dati costanti.
quindi
Codice sorgente
*(string + 1)
sarebbe uguale a i giusto ?
Codice sorgente
*(string + 1)
sarebbe uguale a i giusto ?
Sì
In tutte queste tue domande, comunque, non sono quasi mai entrati i
vettori di puntatori
che avevi messo come titolo del thread ...
Ultima modifica effettuata da 12/06/10 11:06
12/06/10 11:08
l'unico mio dubbio sono questi adesso:
char *suit[4] = {"cuori", "quadri", "fiori", "picche"}
char suit[4] = {"cuori", "quadri", "fiori", "picche"}
12/06/10 11:15
Postato originariamente da Pitagora:
l'unico mio dubbio sono questi adesso:
l'unico mio dubbio sono questi adesso:
char *suit[4] = {"cuori", "quadri", "fiori", "picche"}
char suit[4] = {"cuori", "quadri", "fiori", "picche"}
Solo la prima è una dichiarazione di un vettore di puntatori a char (precisamente 4 puntatori a quelle stringhe indicate nell'inizializzazione).
La seconda è la dichiarazione di un semplice vettore di char e dovrebbe essere inizializzato così
char suit[4] = {'a', 'b', 'c', 'd'}
12/06/10 12:02
Postato originariamente da nessuno:
Solo la prima è una dichiarazione di un vettore di puntatori a char (precisamente 4 puntatori a quelle stringhe indicate nell'inizializzazione).
La seconda è la dichiarazione di un semplice vettore di char e dovrebbe essere inizializzato così
Solo la prima è una dichiarazione di un vettore di puntatori a char (precisamente 4 puntatori a quelle stringhe indicate nell'inizializzazione).
La seconda è la dichiarazione di un semplice vettore di char e dovrebbe essere inizializzato così
char suit[4] = {'a', 'b', 'c', 'd'}
potresti farmi l'esempio con i valori che ti ho dato ?
Ultima modifica effettuata da 12/06/10 12:06