View Full Version : [c++] confrontare due array di puntatori
mistergks
29-11-2012, 17:17
Ho due array di puntatori a char
Char *a[2]={"ciao","casa"};
char *b[2]={"casa","cane"};
Voglio verificare se i due array hanno una parola in comune..(cioe casa in questo caso).
Perche non posso fare cosi?:
Bool verifica(char *a[], char *b[]){
for(int i=0; i<2; i++){
for(int k=0; k<2; k++){
if(a[i] == b[k])
return true;
}
}
Return false;
}
Ho due array di puntatori a char
Char *a[2]={"ciao","casa"};
char *b[2]={"casa","cane"};
Voglio verificare se i due array hanno una parola in comune..(cioe casa in questo caso).
Perche non posso fare cosi?:
Bool verifica(char *a[], char *b[]){
for(int i=0; i<2; i++){
for(int k=0; k<2; k++){
if(a[i] == b[k])
return true;
}
}
Return false;
}
forse perchè hai dei puntatori che giustamente non contengono il dato ma bensì l'indirizzo della cella di memoria in cui è memorizzato tale dato (in questo caso il primo carattere della stringa) ?
occhio ad usare i puntatori, è facile sbagliare e non solo alle prime volte che si usano :D
mistergks
30-11-2012, 12:32
forse perchè hai dei puntatori che giustamente non contengono il dato ma bensì l'indirizzo della cella di memoria in cui è memorizzato tale dato (in questo caso il primo carattere della stringa) ?
occhio ad usare i puntatori, è facile sbagliare e non solo alle prime volte che si usano :D
ops è vero! ma con la funzione strcmp(s1,s2) verificando che sia uguale a 0 posso
ops è vero! ma con la funzione strcmp(s1,s2) verificando che sia uguale a 0 posso
perchè strcmp accetta in input due puntatori (tutti i vettori e quindi anche le stringhe sono gestite a puntatori dal c++) e dopo se li smazza lei
int strcmp ( const char * str1, const char * str2 );
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.