Know-how, előadás, tömbök és mutatók

Húrok - további információk a mutatók és tömbök szoros kapcsolatáról

A karakterláncok jelek tömbjei. Konvenció szerint a karakterlánc utolsó karakterének \ 0-nak kell lennie. Mivel a tömb neve valójában egy mutató a tömb első eleméhez. a típusú karakterlánc változók szintén kezelhetők char típusúak. Például a második változó string_array a definícióban

jelző mutatónak is tekinthető. A karaktersorozat számára. amelyet az első string_pointer változó képvisel. a memóriát kifejezetten ki kell osztani. Másrészt, egy string_array tömb esetén a memória egy mutató. Ne feledje, hogy a memóriát is meg kell osztani vagy fenntartani a sor végére \ 0.

Nincs semmi különös a típusú karakterláncváltozók értelmezésében. azaz a jelek tömbjei mutatóként, hanem a húrok értelmezésében is. amely kétféle módon is tekinthető - tömböknek és mutatóknak - és egyben egy programban is! Ez különösen akkor fontos, ha a karakterláncok függvényként értelmezhetők. A hívó program karakterként kezelheti a karakterláncot, és a hívott függvény egy aláírt mutatóként kezelheti. Ha a húr hossza nem állandó, akkor a karakterláncokra vonatkozó jelmutatók használata bizonyos előnyökkel jár. Bár a változó hosszúságú húrok is megvalósíthatók tömbök használatával. Ez a megvalósítás túlságosan gazdaságtalan a memóriahasználat szempontjából, és korlátozza a húr maximális hosszát. Például különböző hosszúságú sorok elhelyezéséhez egy sor karaktermutató hozható létre. Egy alternatív megoldás, amely általában kétdimenziós tömböt használ, a memóriát nem hatékonyan használja, mivel ebben az esetben az oszlopok számának meg kell egyeznie a maximális hosszúságú karakterláncok számával.

A tömbök és memóriaosztályok inicializálása

Tudjuk, hogy a skalárváltozók inicializálhatók egy típusú deklarációban olyan kifejezésekkel, mint például:

Kapcsolódó cikkek