This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

regarding type casting

my program stop running while executing the following line.

(struct IFramHead *) ptr) ->length = Length;

where declaration are as bellow:

1: unsigned int Length

2: struct IFramHead
{
unsigned int length;
unsigned int index;
}

3: unsigned char *ptr;

I have use this sentex while writingcode for C51 compiler. is this problem is arises because of 8 or 16 bit processor, or there is some memory problem or stack problem.
if anybody know why this line not behave well then please reply me as soon as possible.

thanks
amit patel

Parents
  • What exactly does "stop running" mean, here? How did you know it stops, and how do you know it's *this* instruction it stops in?

    Did you try this in the simulator?

    Does this 'ptr' of yours point to existing memory? How do you know that?

    And, last but not least: what exactly makes you think that this line of code is a good thing to write, in the first place?

Reply
  • What exactly does "stop running" mean, here? How did you know it stops, and how do you know it's *this* instruction it stops in?

    Did you try this in the simulator?

    Does this 'ptr' of yours point to existing memory? How do you know that?

    And, last but not least: what exactly makes you think that this line of code is a good thing to write, in the first place?

Children
No data