The field address in a record buffer will also vary if the field is located in the variable portion of a record. Call ctdbGetFieldAddress() to retrieve the field address in the record buffer. Fields in the fixed portion of a record buffer will always return the same address.
CTRecord::GetFieldAddress() takes the field number as a parameter and returns a pointer to the address of the field in the record buffer. CTRecord::GetFieldAddress() returns NULL if an error occurs and the field address cannot be retrieved.