precedence question

• 08-10-2010
nimitzhunter
precedence question
I read this in a book.

Code:

`apple = sizeof (int) * p;`
I tested the code and found out that it's sizeof integer multiplied by p. Can you some explain the precedence order of this?

thanks alot.
• 08-10-2010
quzah
What's confusing? All you are doing is multiplying the size of an integer by the value of p. There's no precedence order confusion here. What else could it possibly be? All you are doing is taking two things, multiplying them, and assigning that value some place.

Quzah.
• 08-10-2010
Bayint Naung
sizeof has higher precedence than multiplication operator.
So the exp is equivalent to
apple = (sizeof(int)) * p;
Guess what will be the value of :
apple = sizeof p * p; // don't forget to init p to some vale
:D
• 08-10-2010
Elysia
It doesn't matter in what order multiplication is done in. Why the confusion?
• 08-10-2010
Bayint Naung
OP is probably thinking: apple = sizeof (int) * p as
apple = sizeof( (int) *p); // say p is pointer to say (char)
which you need to know precedence.

If I'm not wrong, is it from Expert C Programming book?