Hirdetés
- Műholdas AI chippel fedné le a bolygót a Samsung
- Apple iPhone 15 - a bevált módszer
- Samsung Galaxy Z Fold5 - toldozás-foldozás
- Xiaomi 15T - reakció nélkül nincs egyensúly
- One mobilszolgáltatások
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xiaomi Mi 9 - egy híján
- Megtartotta Európában a 7500 mAh-t az Oppo
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
Új hozzászólás Aktív témák
-
shev7
veterán
válasz
Sk8erPeter
#1412
üzenetére
bar nem nekem szol a kerdes probalok valaszolni, ha mar itt vagyok:
"A double *ujtomb; sorban tehát deklarálunk egy pointerváltozót ujtomb néven, aminek csak később foglaljuk le a szükséges memóriát, először még csak meghatározzuk, hogy "lesz ilyen"."
Lenyegeben igen.
Amikor megtudtuk az eredeti tömb számunkra szükséges elemeit megszámolva, mekkora új tömbre van szükségünk, azután lefoglaltuk neki a számára szükséges memóriát.
Inkabb nevezzuk memoriateruletnek, de igen.
Ezután tömbként és egyben pointerként használtuk fel a későbbiekben, rakosgattunk bele elemeket, és itt ez most kicsit zavaros számomra, hogy akkor most melyik fogalmat is használjuk, ami helytálló. Mert tömbnek foglalunk helyet, de pointertömb...
Na itt kezdodik a fogalomzavar. Eloszor is ne hivd pointertombnek mert az nem az. A pointertom az szamomra a pointerek tombjet jelenti, es itt nem errol van szo. Hogy mi is tortenik ahhoz egy kis magyarazat.
Vegyunk eloszor egy egyszeru byte pointert: byte *p;
a p valtozo tartalma egy memoria cim. A *p ahogy a deklaraciobol is olvashato egy byteot jelent (vagyis a p pointer altal mutatott erteket). Ha tovabbmegyunk a *(p+1) - a p memoriaterulet utani byte-on levo byte-ot jelenti. Na es most jon a turpissag, maradjatok meg velem
hogy ne legyen olyan bonyolult az elet, behoztak ezt a tomb pointer megfeleltetest. (illetve nem behoztak, eddig is igy mukodott, csak mivel korabban nem voltak pointerek, nem foglalkoztunk a problemaval) Azaz a p[5] az megegyezik azzal mintha azt irnad hogy *(p+5).de ugye ez csak byteoknal mukodne ilyen egyszeuen. Int-nel mar bonyolultabb a tema. Ott a kovetkezo egyenloseg igaz: p[5] = *(p+sizeof(int)*5)
Namost mivel ez alapbol igy mukodott tomboknel, ( ha deklaralsz egy olyat hogy
int tomb[100]; akkor a tomb igy magaban egy pointer, es a hatterben pont egy ilyen konverzio zajlik le) akkor a pointerek bevezetesevel csak annyi tortent, hogy ez "mukodik a masik iranyba is"MOD: ja es ezert indexeljuk 0-tol a tomboket C-ben

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- OLED monitor topic
- Bambu Lab 3D nyomtatók
- Kertészet, mezőgazdaság topik
- Azonnali VGA-s kérdések órája
- Műholdas AI chippel fedné le a bolygót a Samsung
- Linux kezdőknek
- AMD GPU-k jövője - amit tudni vélünk
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Kormányok / autós szimulátorok topikja
- Villanyszerelés
- További aktív témák...
- BESZÁMÍTÁS! Apple iPad Pro 13 2024 M4 16GB/2TB WiFi tablet garanciával hibátlan működéssel
- BESZÁMÍTÁS! ASUS B660M i5 12400F 16GB DDR4 1TB SSD RTX 3070 8GB Zalman T4 Plus Cooler Master 750W
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- MS SQL Server 2016, 2017, 2019
- AKCIÓS! Microsoft Surface Pro 9 i5-1245U 16GB 512GB Kijelzőrepedt!
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest
hogy ne legyen olyan bonyolult az elet, behoztak ezt a tomb pointer megfeleltetest. (illetve nem behoztak, eddig is igy mukodott, csak mivel korabban nem voltak pointerek, nem foglalkoztunk a problemaval) Azaz a p[5] az megegyezik azzal mintha azt irnad hogy *(p+5).


