String visszaadása C függvényből

String Visszaadasa C Fuggvenybol



A húr egy karaktersorozat, amely vagy egyetlen karakterből vagy több karakterből áll, és fontos adatstruktúra a számítógépes programozásban. Amikor dolgozik húrok C-ben bizonyos műveleteket kell végrehajtani a húr adattípus, például a húr , tartalom hozzárendelése, összefűzése a húrok , összehasonlítása húrok , és visszaküldi a húr .

Ez a cikk egy ilyen műveletre összpontosít a húr adatstruktúra, amely visszaadja a húr egy C függvényből.







String visszaadása C függvényből

Mint húr egy karaktertömb, és a karakterlánc C függvényből való visszaadásához a karakterlánc adatszerkezetére mutató mutatót argumentumként kell átadni a hívó függvényből a meghívott függvénynek paraméterként. A mutató ezután egy karaktertömbre mutathat. Miután a mutató egy karaktertömbre mutat, a húr érték visszaadható a meghívott függvényből a return utasítás segítségével.



A jobb megértés érdekében tekintse meg az alábbi példát.



#include

const char * nevem ( ) {
Visszatérés 'János' ;
}

int fő ( üres ) {
printf ( '%s' , nevem ( ) ) ;
}





A fenti kódban a változó deklarálása helyett, mint általában, mutatót használtunk hozzá, hogy amikor ezt a karakterláncot visszaadjuk, ne forduljon elő hiba.

Kimenet




A C függvény nem adhat vissza a-t húr amelyet helyi változóként adtunk meg, mivel a változót azonnal eltávolítják (felszabadítják), amikor a függvény fut, ami elérhetetlenné teszi, és az alábbiak szerint figyelmeztetést vált ki:

#include

const char myName ( ) {
char név = 'János' ;
Visszatérés név;
}

int fő ( üres ) {
printf ( '%s' , nevem ( ) ) ;
}

Ebben a kódban a Figyelem a karakterlánc visszaküldésekor aktiválódik nélkül bármilyen mutatót.

Kimenet


Tehát a kódot a következő módon írhatja be:

#include

const char * nevem ( ) {
char * név = 'János' ;
Visszatérés név;
}
int fő ( üres ) {
printf ( '%s' , nevem ( ) ) ;
}

Kimenet


A változók alapértelmezés szerint a veremben vannak lefoglalva, ami a fenti utasítás tényleges oka. Ha azonban egy mutatót deklarálnak, az az érték, amelyre mutat, a kupacban kerül lefoglalásra, amely a függvény befejezése után nem törlődik. A memória lefoglalása után a húr létre kell hozni a mutató által mutatott eredeti memóriahelyről, és a másolatot vissza kell adni a meghívott függvényből. A hívó függvény ezután uralja az eredeti karakterláncadatokat, míg a hívott függvény a lefoglalt terület felszabadításáért felel.

Következtetés

A C függvény mutatót vihet húr érvként és visszaadja a húr érték a hívott függvényen belül végrehajtott műveletek eredményeként. Ennek eléréséhez egy char* mutatót használnak. A hívó funkció felelős a tárolására lefoglalt memóriáért húr , míg a hívott függvény felelős a lefoglalt terület felszabadításáért.