Nwlapcug.com


Come Master C puntatori

I puntatori sono probabilmente il concetto più difficile che si incontrano in una classe C di inizio. Puntatori di comprensione C è molto più facile se avete un'idea chiara di come computer memorizzare informazioni-- e un'idea chiara su come gli indirizzi delle posizioni di memoria sono correlate ai dati memorizzati in tali posizioni di memoria. Questo è perché i puntatori sono interamente circa gli indirizzi. Capire come affrontare opere rende più facile per capire come funzionano i puntatori.

Istruzioni

1

Imparare prima come indirizzo, tipo e valori collaborano nella memoria del computer. Ogni variabile che si utilizza nel tuo programma C avrà un tipo e un indirizzo in memoria. Si supponga che X è una doppia parola (il tipo) che occupa posizioni di memoria 1000 e 1001. L'indirizzo di X (scritti & X) è 1000, ma il sistema sa che X è una doppia parola, quindi il valore di X (scritto X) sarà in 1000 e 1001. X è il nome di una casella che attualmente detiene (per esempio) 15, e questo potrebbe cambiare. L'indirizzo di X è 1000, e questo probabilmente non cambierà.

2

Imparare che cosa vuol dire quando posizioni di memoria contengono gli indirizzi delle altre posizioni di memoria. Il compilatore C sa quando una variabile è un puntatore e che tipo di articoli che punti a. Ad esempio, "doppio P;" è l'istruzione che dichiara P per essere un puntatore. Ciò significa che il simbolo P è associato a una posizione di memoria (dire 2000) e che il sistema sa che le cose in posizione 2000 (i puntatori sono soltanto una parola lunga) sono indirizzi. Ora si potrebbe dire "P = & X;" e i risultati sarebbe di mettere 1000 (l'indirizzo di X) nella posizione di memoria del computer 2000. Se hai valutato ora P (quali punti di P a), si otterrebbe 15, poiché P punta a 15. P contiene l'indirizzo di X, ma indica il contenuto di X.

3

Imparare ogni nuovo concetto a fondo prima di passare al successivo. Ogni nuovo uso di puntatori sarà "zucchero sintattico" per rendere il linguaggio più facile da usare. Se avete un concetto chiaro sull'interazione tra indirizzi, tipi e memoria, si dispone di solide fondamenta necessaria per comprendere lo zucchero sintattico.

Consigli & Avvertenze

  • Se R è una matrice nel programma C, quindi R è davvero un puntatore--R contiene l'indirizzo del primo elemento della matrice. R [0] è un modo per fare riferimento al primo elemento della matrice, ma * R funziona anche, e * R è il modo in cui il sistema utilizzerà sempre.
  • Non dimenticare gli effetti di "tipo" quando si sta facendo l'aritmetica dei puntatori. *(R+1) vi darà il secondo elemento della matrice, anche se la matrice contiene solo due parole. Il sistema sa che quando si aggiunge un numero a un puntatore, non sempre si aggiunge uno..--dipende il tipo di cose il puntatore punta a e questa è stata dichiarata per essere una doppia parola.