surne
surne zhanam nejakeho obornika na C.
potrebujem poradit ohladom pola (array)
da niekto cislo komu by som mohol zavolat???
je to surne.
otazka:
jedna funkcia pouziva pole buffer[1024] a vsetko funguje .
ale mam druhu funkciu ktora pouziva pole ale dvoj rozmerne mem[128][64]
a chcel by som nejako sklbyt tie pola dohromady ale aby som pouzival len pole buffer.
ako sa to roby .
proste chcem aby tie pole mem pouzilo rovnaku adresu v pameti ako buffer
Pre pridávanie komentárov sa musíte prihlásiť.
ano, to co si napisal ty keby si dal do nadpisu, tak by si to ludia ovladajuci C skor vsimli
problem je ze som to zle opisal
to 1024 je bytov a 128*64 je bitov.
takze vekost pametoveho miesta je rovnaka len ten ukazovatel neviem definovat.
poriesim to inac
dakujem
cize ak by si do oboch poli nacital to iste tak by sa:
buffer[0] mal rovnat mem[0][0]
...
buffer[63] mal rovnat mem[0][63]
buffer[64] mal rovnat mem[0][64]
buffer[65] mal rovnat mem[1][0]
buffer[66] mal rovnat mem[1][1]
atd..
buffer[x] je mem[x / 65][x % 65]
alebo
buffer[x*65+y] je to iste ako mem[x][y]
Mozno su prehodene riadky a stlpce a treba sa pozriet ci delenie integera integerom naozaj vracia int. Data by mali byt rovnakeho tatoveho typu.
Malo by sa to dat konfertnut aj cez pointery:
*(buffer + x*sizeof(buffer[0]) + y) je to iste ako *( *(mem+x) + y)
len si myslim ze treba davat pozor na velkost bunky
Skusat sa mi to nechcelo, ale snad je pointa spravna.