Puntatori in C


In questo tutorial vi parlo di ciò che è puntatore e come usare il nostro programma C Molti C programmatore pensa che il puntatore è uno dei difficili problemi nel linguaggio C, ma non è del tutto vero. È difficile capire rispetto ad altri tipi disponibili in C. Pointer in C (matrice, struttura, ecc) Dati secondari sembra essere difficile perché lavora direttamente con la memoria del computer (RAM).

Quando una variabile è dichiarata in C, per esempio intera variabile, ha una memoria secondo la loro dimensione (in questo caso 2 byte). Come occupa una memoria quindi è naturale avere un indirizzo per questa posizione in modo che possa essere successivamente riferimento dalla CPU per la manipolazione. Ma prima di iniziare con l'indicatore che dobbiamo avere un'idea di operators're utilizzerà nel programmare l'indicatore.




'*' E Operators '&'

Controlla la seguente dichiarazione,

int x = 10;

Quando facciamo questa affermazione come compilatore C treat questa dichiarazione:

  1. Memory spazio Reserve per questo valore intero.
  2. Nome qui posizione di x.
  3. Conservare il valore in 10 questa posizione.

Questo può essere illustrato da un semplice diagramma:

Così, quando dichiarare una variabile intera x e quindi assegnare un valore di 10 compilatore occupato un indirizzo di memoria di memoria 2 byte 65325, e il valore memorizzato nel 10 posizione. X Compiler chiamò questo indirizzo in modo che possiamo utilizzare x invece di 65325 in il nostro programma. Ma possiamo usare l'indirizzo o variabile nel nostro programma, e entrambi saranno puntare sullo stesso valore (come definito di seguito).

Il indirizzo di memoria di una variabile può variare da un computer all'altro e dipende interamente lo spazio libero disponibile in memoria al momento dell'esecuzione del programma. Come è diverso PC a PC, quindi non ci si può fidare l'indirizzo (valore numerico che rappresenta variabili indirizzo) e non sono in grado di utilizzare questo indirizzo nel nostro programma. Ma voi notato qualcosa che indirizzo è un numero intero.

Siamo in grado di stampare l'indirizzo di qualsiasi variabile o funzione, il programma mostra come si può fare questo:

variabile di istanza Management.

#include #include void main () { int i = 9; clrscr (); printf ("valore di i:% d \ n", i); printf ("Indirizzo:% u", e i); getch (); }

È un programma molto semplice che stampa il valore di c direzione di un intero. Ma lo si nota la linea n. 10 nel programma precedente? Questa linea di indirizzo delle variabili e di ottenere l'indirizzo delle variabili utilizzate la (e) segno operator. Questo operatore è noto come "Indirizzo "operatore e che hanno già utilizzato questo servizio molte volte nel nostro programma, basta ricordare scanf dichiarazione che viene utilizzato per accettare l'input dalla tastiera del computer. Così, quando si usa l'operatore commerciale (& i) prima di ogni variabile, quindi indicare compilatore C per tornare al tuo indirizzo invece di valore.

Un altro operatore che intendiamo affrontare in tutta questa puntatore tutorial è "*" fiamma "Valore "operatore. E 'lo stesso operatore che abbiamo usato per la moltiplicazione di numeri. Come suggerisce il nome," valore "operatore restituisce il valore memorizzato in direzione specifica. L '" valore "operatore chiamato anche indirezione operator. Seguendo l'esempio precedente programma espande e mette C "valore "azione dell'operatore.

Valore (*) esempio

#include #include void main () { int i = 9; clrscr (); printf ("valore di i:% d \ n", i); printf ("Indirizzo:% u \ n", e i); printf ("Value at:% d", * (+ i)); getch (); }

Ora linea in questo programma senza preavviso. 11 e l'uso di 'Y' e operatori '*' anche vedere l'output del programma che stampa il valore della variabile y * (& i) stesso. Questo Ecco come i due operatori.

E 'necessario avere una chiara idea di' & 'e' * ' utilizzare l'operatore prima di saltare a causa pointer pointer con queste offerte a operator. Se si incontrano difficoltà quindi inviare le vostre domande e cercare di chiarimento.

Cosa puntatori in programmazione C?

A pointer è un sottotipo di dati (noto anche come tipo di dati derivati) in C. E 'stato costruito da uno dei principali tipi di dati disponibili in C. Fondamentalmente puntatore contiene l'indirizzo di memoria di un'altra variabile o una funzione come valore . Come offerta di puntatore con l'indirizzo di memoria, può essere utilizzato per accedere e manipolare i dati memorizzati nella memoria.

I vantaggi del puntatore di programma in C

Pointer è una delle caratteristiche più interessanti del linguaggio C e la potenza e flessibilità alla lingua. Pointer in C, che offre i seguenti vantaggi per i programmatori:

  1. I puntatori possono gestire array e dati della tabella in modo efficiente.
  2. Supporto Puntatori per la gestione della memoria dinamica.
  3. Pointer aiuta restituire valori multipli da una funzione con argomenti di funzione.
  4. Pointer accelera l'esecuzione del programma.
  5. Pointer è uno strumento efficace per la manipolazione di strutture, liste collegate, code, pile, ecc

Siamo in grado di raggiungere questo obiettivo e più benefici da un puntatore solo se siamo in grado di usarlo correttamente.

Puntatore a un esempio

Da Questo tutorial è diventato troppo lungo e poi io dare un piccolo esempio su come possiamo usare il puntatore per il nostro programma di C. Ovviamente parleremo rimanenti parte del mio prossimo puntatore tutorial.

Sintassi: * Tipo di dati pointer_name;

Esempio : Int * FPR;

float * fptr;

Pointer Esempio

#include #include void main () { int i = 9, * ptr; ptr = & i; clrscr (); printf ("valore di i:% d \ n", i); printf ("Indirizzo:% u \ n", e i); printf ("PTR valore:% u \ n", ptr); printf ("PTR Indirizzo:% u \ n", e PTR); printf ("valore Ptr che indica:% d", * ptr); getch (); }

In nell'esempio sopra la linea n. 6 dichiarare l'intero e assegnato 9 esso. Insieme con le variabili, anche noi dichiariamo un puntatore intero. Dichiarare un puntatore a qualsiasi tipo di dati non resta che mettere prima variabile * (asterisco) Nome o ID. Nel nostro esempio PTR è un intero variabile e può prendere la direzione di un numero intero.

Ricordare un puntatore tutto può contenere solo tutta cambiamento di indirizzo non può essere utilizzare il puntatore integer per contenere l'indirizzo del galleggiante o carbone. Per mantenere o carbone float indirizzo variabile a un puntatore, è necessario dichiarare il carbone o galleggiante puntatore rispettivamente.

In linea n. 7 assegnare la variabile intera ad affrontare il PTR PTR ora l'obiettivo è I. Linea 10 copie senza valore e numero di riga. 11 manifesto dell'indirizzo. Successivo Linea stampa memorizzati nel valore variabile puntatore ptr, la linea n. 13 registrato affrontare il PTR puntatore. Come indicatore è un'entità diversa richiede anche spazio di memoria. Memoria occupata da un puntatore dipende dal suo tipo di dati. Will Integer pointer occupano 2 byte ed occupare 1 byte puntatore a carattere. Infine la linea n. 14 stampe l'indirizzo memorizzato in valore del puntatore valore PTR ie. E Stampa memorizzato valore di indirizzo a un puntatore che scriviamo * nome variabile puntatore (Nel nostro esempio, * ptr). Una mappa della memoria vi aiuterà a capire questo.

Se trovate un problema o un errore in questo articolo, allora per favore fatemelo sapere tramite casella di commento.

Grazie per la visita il mio tutorial gratuiti C puntatore voi.

Programmazione C Poll come lingua straniera

C Programming Tutorial Altri collegamenti

  • C puntatore a funzione di programmazione
    Come variabili C, la funzione anche indirizzo e possiamo utilizzare questo indirizzo per richiamare la funzione. Quindi questo tutorial è interamente dedicato al puntatore a funzione. Ma prima di poter chiamare una funzione tramite dobbiamo scoprire ...
  • Una breve storia del linguaggio C
    Prima di qualsiasi programma complesso in C, dobbiamo capire che cosa è veramente C, come è venuto in essere e come si differenzia da altre lingue del tempo. In questo tutorial cercherò di discutere di questi ...
  • I tipi di dati in linguaggio C
    Un linguaggio di programmazione è destinato a contribuire ai programmatori di sviluppare alcuni tipi di dati e di fornire in uscita utile. Il compito del trattamento si ottiene eseguendo comandi seriali chiamato ...
  • Array in C vista la programmazione Programmer
    Un array in linguaggio C è un insieme di dati di tipo simile, significa una matrice può contenere il valore di un particolare tipo di dati per cui viene dichiarato. Gli array possono essere creati da qualsiasi dei tipi di dati C-int ...
  • Come lavorare con array bidimensionali in C
    Noi sappiamo come lavorare con un array (array 1D) con una dimensione. C può essere in più di una dimensione di una matrice. In questo tutorial impareremo come possiamo usare due ...
  • Come lavorare con un array multi-dimensionale in C Programming
    C consente serie di due o più dimensioni e la massima dimensione di un programma C può dipendere utilizzarlo compilatore. In generale, una matrice di dimensione è chiamata matrice 1D, matrix, ...
  • Tipi di funzioni in linguaggi di programmazione C:
    Nel mio precedente tutorial di programmazione C ho cercato di spiegare che ruolo, i suoi benefici e come dichiarare una funzione C E ti ho detto che ci sono cinque tipi di funzioni sono: ...
  • Qual è la funzione in linguaggio C?
    Una funzione in linguaggio C è un blocco di codice che esegue un compito specifico. Ha un nome ed è riutilizzabile cioè può essere eseguito da molte parti diverse in un programma C, se necessario. E anche ...

(0)
(0)

Commenti - 0

Non ci sono commenti

Aggiungi un commento

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caratteri rimanenti: 3000
captcha