-
Fototrend
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
ekkold
Topikgazda
válasz
Janos250
#16446
üzenetére
char akarmi[ 100]; //
Ez lefoglal 100 bájtot adott kezdőcímmel, azért nem adhatsz értéket a ilyen módon, hogy akrami = ... mert ahhoz módosítani kellene a címét, viszont a lefoglalt memória adott területen/címen van. Igy az akarmi szögletes zárójelek nékül, gyakorlatilag egy pointer konstans.char * akarmi//
Ez csak egy pointert hoz létre, ami mutathat bárhová, (kaphat tetszőleges értéket) de a pointerhez nem foglal le memóriaterületet. Tehát ha létező c stringre mutat akkor lehet egy tömbhöz hasonlóan használni, egyéb esetben elszállhat a program.A c string egy olyan karaktertömb ami nullára végződik (ez jelzi a tömb végét). Tehát van egy aktuális hossza, ami változhat is, és van a számára lefoglalt memóriaterület ami megszabja a maximális hosszát. Ha "túlírod" elszállhat a programod.
Azért tud jól működni az strcpy() a korábban felvázolt esetben, mert ott a pointer által mutatott szöveget, valós lefoglalt memóriaterületre másolod.
A pointerhez egyébként a malloc() függvénnyel lehet (standard c-ben, de talán arduinoban is) memóriát foglalni, azaz a maloc() által adott címet töltöd a pointerbe , és akkor a malloc() által lefoglalt nagyságú tömbként is használhatod.
Jelenleg kevered a tömb és a pointer funkcióját, működését. Ezeket kellene tisztázni elsősorban.
Új hozzászólás Aktív témák
- Alienware 17r4 olvass
- 200db SZETT! REFURBISHED - DELL Docking Station WD19S + 130W töltő
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- Eladó 2db Nokia steel hr hibrid okos óra dobozával
- Sima Vs.Windows Logitech Mx keys s plus és hagyományos Mx keys magyar bemutatása. Új videó linkel
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold
