Hej Otó¿, mam 89s51 i pod port P0 pod³aczony bajt diodek (oczywi¶cie odwroteni, wiêc sa aktywne zerem). Jak piszê:
#include <reg51.h>
char * tab;
void main() { while(1) {
*tab=0x55; P0=~(*tab);
} }
to rzeczywi¶cie lampki zapalaj± siê na przemian. Ale jak pododajê po gwiazdce:
#include <reg51.h>
char ** tab;
void main() { while(1) {
**tab=0x55; P0=~(**tab);
} }
to wszystkie gasn± (jak teraz zdejmê nagacjê w linijce P0=~(**tab); i bêdzie P0=(**tab); to siê wszystkie zapalaj±). Dlaczego? Nie powinien byæ taki sam efekt jak powy¿ej? I pytanie drugie, dlaczego jak dopiszê na pocz±tku #include<alloc.h> i po oczywi¶cie zadeklarowaniu np. char * tab; wpiszê tab = (char*)malloc(sizeof(char)); to lampki siê ¿arz±? Dlaczego ten dziadowski malloc nie dzia³a? Próbow±³em ju¿ nawet malloc.h ale siê nie kompiluje... Reasumuj±c, dlaczego program z * i z ** nie dzia³a tak samo i dlaczego nie dzi±³a malloc? co robiê nie tak? Pozdrawiam