Sono nuovo di programmazione C, ho riscontrato un problema.
In caso di dichiarazioni complicate Ho trovato questoChe cosa significa char * argv [] significa?
int *daytab[13]; // daytab is an array of 13 pointers to int
che significa daytab
è il nome della matrice e il nome dell'array punta al primo elemento della matrice. Il nome dell'array non è compatibile con la manipolazione del puntatore come daytab++
ecc (correggimi se ho torto).
Ma ho trovato questo codice scritto in Dennis Ritchie
main(int argc, char * argv[]) {
while(--argc > 0)
printf("%s%s",*++argv,(argc>1) > " " : "");
printf("\n");
return 0;
}
Come possono manipolare argv
? Non è il nome dell'array?
È un puntatore a un array (char) di tutti i parametri passati dal sistema all'applicazione, argc contiene il numero dello stesso –
Nella riga che contiene 'printf' - non dovrebbe essere quest'ultimo() argc> 1)? "": "" '? Il ">" indipendente non sembra essere corretto. A me sembra che si supponga di mettere un vuoto tra gli argomenti mentre stampano, ma non vuoto dopo l'ultimo arg. –
Sono assolutamente scioccato dal fatto che per quattro anni non ci sia alcun riferimento alla [Regola a spirale di clock] (http://c-faq.com/decl/spiral.anderson.html) per interpretare le dichiarazioni di variabili C. Oh, aspetta ... :-) –