pointery C

Pavel Hudecek edizon na seznam.cz
Úterý Květen 21 23:55:03 CEST 2013


To je nějaké divné. Pointer by měl být vždy int, ať už ukazuje na cokoli. 
Int je právě tak definován: Typ určený k adresování na dané platformě, 
akorát navíc se znaménkem. Proto má na různých platformách různý počet bitů.

Ale třeba je to v Hitecu jinak.

PH

From: "Miroslav Draxal" <evik na volny.cz>
Vše v PIC. Hitech9,80

ProgramRAM je pole charu o délce 500bytů

char *pTest = &ProgramRAM[2][10];
*pTest = 0;
Ovšem tohle jde pouze na addr 0~255 v ram

Pokud
int *pTest = (int*)  &ProgramRAM[2][10];
*pTest = 0;
Pak dosáhnu všude po bufferu, ale nuluji celý int, čili 2 byty

Jak pomocí ponteru adresovat 500 bytů(int) a přistupovat k nim jako char? 



Další informace o konferenci Hw-list