MarE69 je napisal/a: |
Če si delal z asemblerjem, potem ne bo težko razumeti. Pointer je spominski naslov neke spremenljivke. Tule ti bom dal nekaj smernic bolj z mikrokontrolerskega stališča, čeprav se bo kakšen c++ guru verjetno križal. |
Koda: |
typedef struct {
unsigned char uu; unsigned char mm; unsigned char ss; } nova_ura; nova_ura ura1; void izracunaj_uro(nova_ura *ura1xx) { ura1xx->uu=10; } void main(void) { izracunaj_uro(&ura1); } |
gumby je napisal/a: |
takole:
typedef struct { unsigned char uu; unsigned char mm; unsigned char ss; } nova_ura; nova_ura ura1; |
lojzek je napisal/a: |
@mare69:
Sem bral tvoj post malce višje v tej temi glede kazalcev in spremenljivk. Ali je to tisto, ko kličeš neko funkcijo npr. izracun (10, 5); in potem funkcija izracun operira s tistima številkama v oklepaju? Ali pa recimo bolj znana _delay_ms (500); Jaz namreč uporabim neko spremenljivko, ki velja povsod v programu in klicana funkcija potem računa s to spremenljivko. V prvem primeru bi moral uporabiti 2 spremenljivki. (pač sem še vedno začetnik v Cju). Pa še, če ima kdo kaj domačega branja o tej temi, oz. kako se ureja te zadeve. Ko bom vedel, kaj iskati, bo tudi google pomagal. |
Koda: |
izracun(int *a, int *b) { *a=*a+*b; *b=*a+2; } main() { int x1=5,x2=6; izracun(&x1,&x2); } |
teslo je napisal/a: |
Do sedaj sem uporabljal deklaracije brez typedef in vse strukture so delovale popolnoma normalno..
Kot kaže je vse odvisno od prevajalnika kako zadeve interpertira in prevede.. |
Koda: |
void izracunaj_uro(struct nova_ura *ura1xx) |