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

Finding a complex structure size

I have tried variations using sizeof() with unreliable results. This method works, but is it bogus? Can it be improved? I am not worried about it being portable.

// -- Unit Variables --
struct {
  // Complex Structure
  // Lots of nested arrays,
  // integer values, etc.
} message;

char replyBuffer[20];	// Input Buffer


// Return size of message structure
unsigned int getMessageSize(void) {
   int i, *p1, *p2;

   p1 = (int *)&message;      // Create pointer to Message Struct
   p2 = (int *)&replyBuffer;  // Create pointer to replyBuffer
   i = p2-p1;		      // Calculate message structure size
   return(i);                 // Does this really work?
}

Parents
  • I have tried variations using sizeof() with unreliable results.

    You'll want to go into more detail on that one. What made you qualify the results of sizeof() as "unreliable"?

    The method you showed is quite certainly a lot less reliable than just using sizeof().

Reply
  • I have tried variations using sizeof() with unreliable results.

    You'll want to go into more detail on that one. What made you qualify the results of sizeof() as "unreliable"?

    The method you showed is quite certainly a lot less reliable than just using sizeof().

Children