Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako napísať funkciu spiatočky linky s ukazovateľmi v jazyku C + +

C + + programovací jazyk , s ukazovateľmi a prevádzkovateľmi pridelenie pamäti , často desí skúsených programátorov . Pre nových študentov , tieto pojmy sa zdajú nepochopiteľné . Jazyky ako Java a C # skryť tieto údaje , aby väčšina vývojárov už nie je nutné im rozumieť . Dokonca tak , v správnom kontexte , funkcia je low - level C + + ponúka výkon a flexibilitu nebol nájdený vo vyšších jazykoch úrovni . Môžete získať cit pre silu C + + ukazovatele tým , že vytvorí jednoduchú funkciu texte obrátenie čo budete potrebovať v Microsoft Visual Studio , C + + Builder alebo akékoľvek iné C + + kompilátor
Zobraziť ďalšie inštrukcie

1

Vytvoriť nový projekt alebo pracovnú plochu pomocou C + + jazyk podľa svojho výberu v aplikácii Microsoft Visual Studio 2010 . Otvorte aplikáciu Visual Studio , kliknite na tlačidlo " Súbor " a vyberte " Nový projekt " . Akonáhle sa zobrazí nové dialógové projekt , vyberte C + + , Win32 a Win32 aplikácie konzoly . . Dajte mu meno " Zvrat , " kliknite na tlačidlo " Ďalej" a " OK " , kým sa neobjaví zdrojový súbor
2

Pridať " patrí " vyhlásenie v hornej časti súboru takto :

# include

# include
3

deklarovať funkciu reverzného takto :

void reverse ( char * txt , char * newTxt ) {

Táto funkcia prečíta reťazec znakov začínajúce na adresu v pamäti uloženú v " txt " , skopíruje ho v opačnom poradí do pamäte , na ktorý ukazuje " newTxt . " Táto funkcia predpokladá , že dostatok pamäte bola pridelená pre nový reťazec
4

Vytvor Postavu ukazovateľ "c " takto : .

Char * c = txt + strlen ( txt ) ;

znak ukazovateľ " * c " nie je nič iné ako miesto na uloženie na adresu v pamäti . Inicializovať načítaním adresy v " txt " , potom pridajte dĺžku textového reťazca
5

Odpíšte text pomocou nasledujúcich " , zatiaľ čo " slučka : .

While ( c > txt ) {

c - ;

* newTxt = * c ;

newTxt + + ;

}

Presunúť "c " ukazovateľ späť o jeden znak ( to bol inicializovaný jeden znak za koncom textového reťazca ) . Akonáhle budete mať posledný znak , skopírujte ho do prvej znak nového reťazca , ako upozornil na podľa " newTxt . " Advance " newTxt " ukazovateľ vpred jeden znak . Druhýkrát cez skopírujte charakter next - to - the - posledný z " txt " reťazca do druhého charakteru " newTxt " reťazec . Tento postup sa opakuje , až sa dostanete späť na začiatok
6

Pridať koncové nuly na " newTxt " reťazec a dokončiť funkciu

* newTxt = 0 ; ..

}

V C + + , všetky textové reťazce končia s binárne nule
7

Pridajte kód na testovanie funkcie takto : .

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

char * txt = " Štyri skóre a pred siedmimi rokmi ... " ;

char * newTxt ;

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

vzad ( txt , newTxt ) ;

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

zdarma ( newTxt ) ;

return 0 ;

}

Premenné sú pomenované rovnako ako vo funkcii , aby nedošlo k zámene . Funkcia " malloc " prideľuje pamäť pre " newTxt " reťazec , potom je funkcia volaná . Potom , vytlačiť nový reťazec do konzoly , a potom uvoľniť pamäť alokovanú " malloc . "

Ak chcete otestovať program v aplikácii Visual Studio , kliknite na kláves F5 .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené