hello Vic thank you for all your responses. 
i was just trying to use union as an alternative to that problem and hence 
following your response i changed the array to contain 2 elements according to 
the 'endian' thing.,  here is the code :

==========
#include <stdio.h>

union vals {
    unsigned short x;
    unsigned char y[2];
} myvals;

int main() {
    myvals.y[0] = 1;  //lsb
    myvals.y[1] = 21; //msb

    printf("%d", myvals.x);
    printf("\n %d", sizeof(myvals));
}

==========

the only changed thing is uchar y[1]; is replaced by uchar y[2];

i compiled and executed the program using turbo c++ 3 and it gave the same 
output as it gave previously even sizeof showed out the size of myvals to be 2! 
i have some queries to you and others in this group please clarify them:
1. the code is successfully executing and giving satisfactory output, but is 
that output compiler dependant though it was using a feature of C?if so then 
why is it, i mean what is the difference?
2. can i in any case use unions safely for brians problem?
3. why does sizeof showed the size of myvals to be 2 bytes?

again thanks for your comments and am waiting for your reply.

With Regards

Anup Joshi

       
---------------------------------
Need a vacation? Get great deals to amazing places on Yahoo! Travel. 

[Non-text portions of this message have been removed]

Reply via email to