Pic very basic C18 question

Mar 15, 2010 10 Replies

I'm pushing along trying to learn some C using MCC18. Can someone please tell me what the "&" before the variable "variable" does or means in the code below? I'm finding it hard to find basic info like this in the documentation I've found.



Is it AND? AND with what?



thanks


ee_read_byte(0x00, &cal_var); //initialise calibration variable from eeprom



why the "&" -----------^


unsigned char ee_read_byte(unsigned char address, unsigned char *_data){ EEADR = address; EECON1bits.CFGS = 0; EECON1bits.EEPGD = 0; EECON1bits.RD = 1; *_data = EEDATA; }


read as: "address of" ...

... because this expects a pointer (i.e., an address) ------------^^^^

e=20

e=20

I don't think you can learn C very efficiently by posting questions to ask what the syntax does. The normal and more efficient method is to read a book. If that is too old fashioned, then try Google:

formatting link

--=20

Regards, Richard.

  • formatting link
    Designed for Microcontrollers. More than 7000 downloads per month.

  • formatting link
    Certified by T=DCV as meeting the requirements for safety related systems= =2E

That's because you've either been looking for the wrong kind of documentation, or you've tackled this whole "learning a programming language" task entirely the wrong way round.

What you actually need is introductory documentation of the C programming language, a.k.a. a C textbook. The 2nd edition of the one by Kernighan & Ritchie, who invented the language, is still among the best.

And the right order of things is not to jump in and try to understand existing code by guessing what each letter in it means, but to actually _learn_ the language first, then apply that knowledge to existing code.

This symbol means "the one with a tail should go down from the tree".

VLV

e
e

from

I always wonder why they did not use @. It would have been much clearer. After all, it was designed by a committee of two only.

Thanks for the reply. I dont doubt you are correct with your comments re my approach! :)

language, a.k.a. a C

the language, is still

approach! :)

As a hardware engineer who 'did some C at university' I found 'Practical C Programming' (O'Reilly) very good.

Nial.

ase

the

le from

May be thats why "committee of two" have also provided macros.

If you wanted to use @ for &, what do you want to use for @ ?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required