|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
21-07-2004, 12.08.00 | #1 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
Puntatore a vettori char (C)
Codice:
#include <stdio.h> #include <stdlib.h> #include <string.h> #define NUM 4 // definisco il numero delle stringhe int main(int argc, char *argv[]) { char *ptrSTR[NUM] = {"pippo", "pippo-pippo", "pippo3", "pippoPluto"}; // puntatore a 2 vettori char int count = 0, index, lunStr ; while(count < NUM){ // finchè non ho processato tutte le stringhe lunStr = strlen(ptrSTR[count]); // lunghezza delle stringa e termine del ciclo for più sotto printf("\n\n"); for(index = 0; index <= lunStr; ++index) printf("%c", ptrSTR[count][index]); // stampo le stringhe count++; } printf("\n\n"); system("PAUSE"); return 0; } grazie e ciao a tutti... p.s. buone vacanze a chi c'è già con la testa
___________________________________
...ad ogni alba sorgerà il tuo profumo Ultima modifica di NS-1 : 21-07-2004 alle ore 12.17.44 |
21-07-2004, 12.48.03 | #2 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Se vuoi farlo coi puntatori è giusto così .. funziona perché hai dichiarrato il puntatore e riempito direttamente le aree di memoria a cui esso punta ...
Dal punto di vista del codice, potevi eliminare il while e racchiudere tutto in un unico ciclo... Bye |
21-07-2004, 12.54.37 | #3 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
(Y) grazie... adesso tolgo il while
___________________________________
...ad ogni alba sorgerà il tuo profumo |
21-07-2004, 17.28.17 | #4 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
ho provato a togliere il while ma, sarà il caldo, non riesco a farcela... ...oggi è una brutta giornata... ...questa sera con calma ci riprovo...
___________________________________
...ad ogni alba sorgerà il tuo profumo |
21-07-2004, 17.30.13 | #5 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
(Y)
Bye |
21-07-2004, 22.20.32 | #6 |
Newbie
Registrato: 08-07-2004
Messaggi: 47
|
Scusa l'appunto ma non è più semplice invece di stampare le stringhe carattere per carattere con il for ,usare printf("%s",ptrSTR[count])?
O sei vincolatoper qualche motivo a fare così?
___________________________________
Sai che la fortuna è una religione:tu ci credi oppure no. |
21-07-2004, 22.29.40 | #7 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Eh noooo .. adesso gli hai svelato uno dei due trucchi per togliere i cicli .. ...
Bye |
22-07-2004, 10.03.16 | #8 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
... in effetti...
mi sono perso su una cavolata... all'inizio ho scritto - printf("%c", ptrSTR[count][index]) - solo per vedere se alla fine potevo accedere ai singoli caratteri utilizzando una matrice... poi mi sono dimenticato e ho dato per scontato che fosse giusto così.... ieri è stata una giornataccia.... oggi mi consolo però , svolti alcuni compiti importanti, vado a ritirare il mio primo portatile... mi sento un bambino
___________________________________
...ad ogni alba sorgerà il tuo profumo |
22-07-2004, 10.04.59 | #9 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
ma Web, qual'è l'altro trucco?
p.s. come ricompensa, se mi dai il tuo indirizzo in privato, ti invio una cartolina...
___________________________________
...ad ogni alba sorgerà il tuo profumo |
22-07-2004, 10.11.48 | #10 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
così và meglio?
Codice:
#include <stdio.h> #include <stdlib.h> #include <string.h> #define NUM 4 int main(int argc, char *argv[]) { char *ptrSTR[NUM] = {"pippo", "pippo-pippo", "pippo3", "pippoPluto"}; int count = 0; while(count < NUM) printf(" %s\n", ptrSTR[count++]); printf("\n\n"); system("PAUSE"); return 0; }
___________________________________
...ad ogni alba sorgerà il tuo profumo |
22-07-2004, 10.15.34 | #11 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
adesso con il programmino modificato mi accorgo che non mi serve a nulla... il tutto serviva solo per l'accesso tramite matrice...
cmq se si può togliere in qualche modo il ciclo while, sarei felice d'impararlo... grazie
___________________________________
...ad ogni alba sorgerà il tuo profumo |
22-07-2004, 10.28.35 | #12 | |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Quota:
Bye |
|
22-07-2004, 10.29.29 | #13 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Il mio indirizzo privato?...
Scrivi alla mail dell'account di messenger che compare sotto il mio post Bye |
22-07-2004, 11.01.15 | #14 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
fatto... ti ho mandato una mail...
___________________________________
...ad ogni alba sorgerà il tuo profumo |
22-07-2004, 12.24.16 | #15 |
Newbie
Registrato: 08-07-2004
Messaggi: 47
|
Si così va bene e il while non lo puoi evitare a mio avviso,a meno che non lo sostituisci con un for ,(che è una soluzione migliore dato che conosci a priori il numero massimo di iterazioni),che è comunque equivalente al punto di vista del numero di istruzioni.La sostituzione non è comunqe necessaria è solo una questione stilistica,puoi lasciarlo pure com'era e va benissimo.
con il for: [CODE] #include <stdio.h> #include <stdlib.h> #include <string.h> #define NUM 4 int main(int argc, char *argv[]) { char *ptrSTR[NUM] = {"pippo", "pippo-pippo", "pippo3", "pippoPluto"}; int count; for(count=0;count < NUM;count++) printf(" %s\n", ptrSTR[count]); printf("\n\n"); system("PAUSE"); return 0; }[\CODE]
___________________________________
Sai che la fortuna è una religione:tu ci credi oppure no. |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
Opzioni puntatore perse su ACER Travelmate 7720 | AndyWarrior | Windows 7/Vista/XP/ 2003 | 3 | 08-10-2008 14.12.45 |
Eliminare il puntatore del mouse ???? | Chris_bike | Windows 7/Vista/XP/ 2003 | 5 | 14-11-2007 19.48.39 |
problema col puntatore del mouse | rosso1 | Windows 9x/Me/NT4/2000 | 4 | 29-06-2005 22.26.43 |
PUNTATORE LASER | 12379 | Mercatino Usato | 1 | 13-03-2005 21.35.43 |