Minden, ami elektronika

Elektronikával hobbi szinten foglalkozó oldal

array

2019. augusztus 26. 02:34 - raptor13

Leírás

Egy tömb olyan változók gyűjteménye, amelyekhez indexszámmal lehet hozzáférni. Az Arduino IDE alatt lehetőségünk van a tömböket C++ nyelven deklarálni, ami nem túl egyszerű, de szerencsére az alap tömbök megadása az Arduino IDE alatt nem bonyolult.

Tömb deklarálása (létrehozása)

Az alábbi példák mutatják be, hogy milyen módszerek vannak egy tömb létrehozására (deklarálására):

A tömbök deklarálásakor megadhatja, hogy hány elemből álljon a tömb (a fenti példában a myInts egy 6 elemű tömb lesz), azonban nem szükséges megadnia a tömb elemeinek a számát, ha felsorolja a tömb elemeit (myPins), ebben az esetben a fordító automatikusan akkora tömböt hoz létre, ahány elemet felsoroltunk. Definiálhat tömböt az előző kettő módszer keverékével is (mySensVals). Vegye figyelembe, hogy egy char típusú tömb deklarálásánál az inicializáláshoz még egy elemre van szükség a szükséges null karakter megtartásához.

Egy tömb elérése

Minden tömbre igaz, hogy az elemeinek a számozása nullával indul és az utolsó elem száma a (tömb mérete)-1.

Ez azt is jelenti, hogy egy tíz elemmel rendelkező tömbben a kilencedik index az utolsó elem. Ennélfogva:

Ezért legyen óvatos a tömbök kezelésekor. Ha a legutolsó indexnél nagyobb számot ad meg, akkor a következő memóriaterület(ek)et fogja elérni. Ez egy érték kiolvasásakor még nem okoz általában nagy problémát, íráskor akár a program lefagyását is eredményezheti. Az ezekről a helyekről való olvasás valószínűleg nem sokat fog tenni, kivéve az érvénytelen adatokat. Az olyan hibákat, amely ebből következik általában nagyon nehéz megtalálni.

A BASIC-tól vagy a JAVA-tól eltérően a C ++ fordító nem ellenőrzi, hogy a tömb hozzáférése a deklarált tömb méretének törvényes határain belül van-e.

Érték hozzárendelése egy tömbhöz:

Érték lekérése tömbből:

Tömbök és a FOR ciklus

A tömbök kezeléséhez gyakran használnak FOR ciklust, ahol a ciklus számlálóját egyben a tömb indexének a megadására is fel lehet használni. Az alábbi példában egy tömb elemei kerülnek kiíratásra a sorors porton keresztül:

Példakód

A tömbök használatát demonstráló teljes programhoz nézze meg a Knight Rider példát az oktatóprogramok között.

Lásd még

String()

bool

boolean

byte

char

dupla

float

int

long

short

size_t

string

unsigned char

insigned int

unsigned long

void

word

PROGMEM

Szólj hozzá!

String()

2019. augusztus 25. 12:43 - raptor13

Leírás

Létrehoz egy String osztályba tartozó tartalmat. Ezt többféle forrásból lehet elvégezni:

  • karakterek sorozatából (idézőjelben kell megadni)
  • egyetlen karakterből, ( sima idézőjel ['] között)
  • egy másik stringből
  • 16 bites (INT) vagy 32 bites (LONG) számból
  • 16 bites (INT) vagy 32 bites (LONG) számból, módosítókkal
  • 16 bites (INT) vagy 32 bites (LONG) változóból
  • 16 bites (INT) vagy 32 bites (LONG) változóból módosítókkal
  • float vagy double típusból, megadott tizedesjegyekkel

Ha egy stringet egy számból állít elő, akkor a szám értékét fogja tartalmazni. Alapértelmezésben a tizes számrendszert használja:

Eredményként megkapja az "13" karaktersorozatot. Módosítók segítségével megadhatja, hogy milyen számrendszer alapján hozza létre a string-et:

Eredményként megkapja a "D" karakterláncot, amely a decimáls 13 hexadecimális átváltása. Binárisan is kérheti:

Eredményként megkapja a "1101" karakterláncot, amely a decimáls 13 bináris átváltása.

Szintaxis

String(val)
String(val, base)
String(val, decNr)

paraméterek

val: a string-gé alakítandó tartalom. Megengedett adattípusok: string, char, byte, int, long, unsigned int, unsigned long, float, double.
base: (opcionális) az integrált érték formázásának alapja.
decNr: a kívéntt tizedesjegyek száma

Eredmény

A String osztály példánya.

Példakód

A példaprogramban lévő összes megadási mód elfogadott.

Funkciók

charAt()

compareTo()

concat()

c_str()

endsWith()

equals()

equalsIgnoreCase()

getBytes()

indexOf()

lastIndexOf()

length()

remove()

replace()

reserve()

setCharAt()

startsWith()

substring()

toCharArray()

toDouble()

toInt()

toFloat()

toLowerCase()

toUpperCase()

trim()

Operátorok

[] (element access)

+ (concatenation)

+= (append)

== (comparison)

> (greater than)

>= (greater than or equal to)

< (less than)

<= (less than or equal to)

!= (different from)

String oktatóanyag

Lásd még

array

bool

boolean

byte

char

double

float

int

long

short

size_t

string

unsigned char

usigned int

unsigned long

void

word

Szólj hozzá!
süti beállítások módosítása