12/06/10 12:18
ho capito:
per capire meglio ho fatto un programmino
ho notato che con i vettori di puntatori posso inserire quanti valori (stringhe) voglio;
quando vado a stampare un elemento del vettore *pPtr si avrà il seguente caso:
quindi mi stamperà le iniziali di ogni valore (stinga) che io chiamerò.
in questo caso:
mi da errore per il semplice motivo che non posso inserire più stringhe all'interno di un semplice vettore;
con un vettore (non puntatore) posso fare solo cosi:
il risultato è sempre lo stesso ..
Per riepilogare:
char *String2 = {"ciao"}; /* è costante e non puo essere modificato */
char String2[4] = {"ciao"}; /* questo vettore invece lo posso modificare */
"..." i doppi apici gli uso per racchiudere più caratteri
'.' i singoli apici gli uso per racchiudere un solo carattere
Grazie Nessuno !
per capire meglio ho fatto un programmino
#include <stdio.h> int main (void) { char *a[4] = { "ciao", "nonna", "cavolo", "barba" }; char b[4] = { "ciao", "nonna", "cavolo", "barba" }; /* mi da errore */ printf("%c\n", *a[2]); /* mi stampa la lettera c di cavolo */ printf("%c\n", b[2]); /* non verrà mai stampata */ return 0; }
ho notato che con i vettori di puntatori posso inserire quanti valori (stringhe) voglio;
char *pPtr[7] = {"ciao", "b", "cavolo", "pitagora", "nessuno", "piero"};
quando vado a stampare un elemento del vettore *pPtr si avrà il seguente caso:
printf("%c\n", *pPtr[2]); output: $ c
quindi mi stamperà le iniziali di ogni valore (stinga) che io chiamerò.
in questo caso:
char b[4] = { "ciao", "nonna", "cavolo", "barba" }; /* mi da errore */
mi da errore per il semplice motivo che non posso inserire più stringhe all'interno di un semplice vettore;
con un vettore (non puntatore) posso fare solo cosi:
char a[4] = { 'c', 'i', 'a', 'o', 'ho capito:
per capire meglio ho fatto un programmino
#include <stdio.h> int main (void) { char *a[4] = { "ciao", "nonna", "cavolo", "barba" }; char b[4] = { "ciao", "nonna", "cavolo", "barba" }; /* mi da errore */ printf("%c\n", *a[2]); /* mi stampa la lettera c di cavolo */ printf("%c\n", b[2]); /* non verrà mai stampata */ return 0; }
ho notato che con i vettori di puntatori posso inserire quanti valori (stringhe) voglio;
char *pPtr[7] = {"ciao", "b", "cavolo", "pitagora", "nessuno", "piero"};
quando vado a stampare un elemento del vettore *pPtr si avrà il seguente caso:printf("%c\n", *pPtr[2]); output: $ c
quindi mi stamperà le iniziali di ogni valore (stinga) che io chiamerò.
in questo caso:char b[4] = { "ciao", "nonna", "cavolo", "barba" }; /* mi da errore */
mi da errore per il semplice motivo che non posso inserire più stringhe all'interno di un semplice vettore;
con un vettore (non puntatore) posso fare solo cosi:char a[4] = { 'c', 'i', 'a', 'o', '{parsed_message}'}; oppure posso fare così char a[4] = {"ciao"};
il risultato è sempre lo stesso ..
Per riepilogare:
char *String2 = {"ciao"}; /* è costante e non puo essere modificato */
char String2[4] = {"ciao"}; /* questo vettore invece lo posso modificare */
"..." i doppi apici gli uso per racchiudere più caratteri
'.' i singoli apici gli uso per racchiudere un solo carattere
Grazie Nessuno !'}; oppure posso fare così char a[4] = {"ciao"};
il risultato è sempre lo stesso ..
Per riepilogare:
char *String2 = {"ciao"}; /* è costante e non puo essere modificato */
char String2[4] = {"ciao"}; /* questo vettore invece lo posso modificare */
"..." i doppi apici gli uso per racchiudere più caratteri
'.' i singoli apici gli uso per racchiudere un solo carattere
Grazie Nessuno !
Ultima modifica effettuata da 12/06/10 12:24