2011年1月10日 星期一

[C]union記憶體共用

#include<stdio.h>

union data
{
   char a;
   int b;
}

main()
{
   union data test;

   test.b = 0;
   printf("test.a = %c, test.b = %d\n", test.a, test.b);

   test.b = 'X';
   printf("test.a = %c, test.b = %d\n", test.a, test.b); /* 由於 union 共用記憶體,雖然只有 test.b 被修改 ,test.a 也會受到影響。 */
                                                         /* ps. X 的 ASCII 碼為 88 */
}

沒有留言:

張貼留言