Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come scrivere una riga Inversione Funzione Uso dei puntatori in C + +

Il C + + linguaggio di programmazione , con i puntatori e gli operatori di allocazione della memoria , spesso spaventa i programmatori esperti. Per i nuovi studenti , questi concetti sembrano incomprensibili . Linguaggi come Java e C # nascondere questi dettagli in modo maggior parte degli sviluppatori non hanno più bisogno di capirli . Anche così , nel giusto contesto , le caratteristiche di basso livello del C + + offrono potenza e la flessibilità non si trovano in linguaggi di livello superiore . È possibile ottenere un tatto per la potenza del C + + puntatori con la creazione di un testo semplice inversione di funzione che vi serve
Microsoft Visual Studio , C + + Builder o qualsiasi altro compilatore C + +
Show More Istruzioni

1

Creare un nuovo progetto o di lavoro utilizzando il linguaggio C + + a vostra scelta in Microsoft Visual Studio 2010 . Aprire Visual Studio , fare clic su "File" e selezionare "Nuovo progetto ". Quando viene visualizzata la finestra di dialogo nuovo progetto , scegliere C + + , Win32 e applicazione console Win32 . Dategli il nome di " Inversione ", quindi fare clic su "Avanti" e " OK" fino a visualizzare il file sorgente
2

Aggiungi " include" dichiarazioni nella parte superiore del file come segue : .

# include

# include
3

dichiarare la funzione inversa come segue :

vuoto inversa ( char * txt , char * newTxt ) {

Questa funzione legge la stringa di caratteri a partire dall'indirizzo di memoria memorizzato in " txt ", quindi lo copia in ordine inverso alla memoria puntato da " newTxt . " La funzione presuppone che sufficiente memoria è stato assegnato per la nuova stringa
4

Creare un puntatore a carattere "c " come segue : .

Char * c = txt + strlen ( txt) ;

Il puntatore del carattere " * c" è niente di più che un luogo per memorizzare un indirizzo di memoria . Inizializzarla recuperando l' indirizzo in " txt ", quindi aggiungere la lunghezza della stringa di testo
5

Copia il testo utilizzando il seguente " mentre " loop : .

While ( c > txt ) {

c - ;

newTxt * = * c ;

newTxt + + ; }


Spostare il " c" puntatore indietro di un carattere (è stato inizializzato un carattere oltre la fine della stringa di testo ) . Una volta che hai l'ultimo carattere , copiarlo sul primo carattere della nuova stringa come indicato dal " newTxt . " Far avanzare il puntatore " newTxt " avanti di un carattere . La seconda volta attraverso , copiare il prossimo-a - la - ultimo carattere della stringa "txt " per il secondo carattere della stringa " newTxt " . Questo continua fino ad arrivare di nuovo all'inizio
6

Aggiungi uno zero finale alla stringa " newTxt " e terminare la funzione

* newTxt = 0; .
.

}

In C + + , tutto il testo finale stringhe con uno zero binario
7

Aggiungere il codice per testare la funzione come segue : .

int _tmain ( int argc , _TCHAR * argv [ ] ) {

char * txt = " Ottantasette anni fa ... " ;

char * newTxt ;

newTxt = ( char * ) malloc ( strlen ( txt) +1) ;

inversa ( txt , newTxt ) ;

printf ( "% s \\ n" , newTxt ) ;

libero ( newTxt ) ;

return 0; }


le variabili sono definite come la stessa della funzione per evitare confusione . Il " malloc " funzione alloca memoria per la stringa " newTxt " , allora la funzione viene chiamata . In seguito, stampare la nuova stringa nella console , quindi libera la memoria allocata da " malloc ".

Per testare il programma in Visual Studio , premere F5 .

 

Programmazione © www.354353.com