Mi sto addendrando nella programmazione con i puntatori in C e mi chiedevo una cosa. Avendo visto che ci sono puntatori con uno o due asterischi (esempio: char *ciao; oppure char **ciao; ), che differenza c'è tra uno e l'altro?
Mi sto addendrando nella programmazione con i puntatori in C e mi chiedevo una cosa. Avendo visto che ci sono puntatori con uno o due asterischi (esempio: char *ciao; oppure char **ciao; ), che differenza c'è tra uno e l'altro?
Powered by Linux
"Windows cerca di fare Unix e ci riesce male, Red Hat cerca di fare Windows e ci riesce benissimo" (Jimmy Olgeni)
char *ciao;
dichiara ciao come un puntatore a char e quindi *ciao indica il carattere puntato da ciao:
ciao------------->'a'
char **ciao;
dichiara un puntatore a un puntatore a carattere: *ciao indica quindi un puntaotre a carattere mentre **ciao indica il carattere:
ciao------------->*ciao---------------->'a'
Normalmente comunque i puntatori puntano a una stringa, mentre i puntatori a puntatori puntano ad un'array di stringhe...
E' abbastanza raro trovare puntatori a puntatori con scopi diversi da questo...
Ma, mica tanto vero...Originariamente inviato da GNAWS
Normalmente comunque i puntatori puntano a una stringa, mentre i puntatori a puntatori puntano ad un'array di stringhe...
E' abbastanza raro trovare puntatori a puntatori con scopi diversi da questo...
Nel caso di matrici puoi utilizzare tranquillamente puntatori a puntatori (es int**)
gli ** si riferiscono a puntatori che puntano all'indirizzo di memoria di altri puntatori, mentre gli * sono puntatori che puntano ai tipi di base del c...........ciao!!!!!!!!!!!!!!!!
tripallico c