Çʵå Å×½ºÆ®
1. Áö±Ý±îÁö ¹è¿î ¸ðµç ŸÀÔÀ» Æ÷ÇÔÇÏ´Â °ø¿ëü¸¦ Á¤ÀÇÇØº¸ÀÚ. ±×¸®°í ¸ðµç ¸â¹öÀÇ ÁÖ¼Ò¸¦ Ãâ·ÂÇØº¸ÀÚ. ¸ðµÎ µ¿ÀÏÇÑ ÁÖ¼Ò¸¦ °®´ÂÁö È®ÀÎÇØº¸ÀÚ
Á¤´ä->
#include
<iostream>
using
namespace std;
union
AllType
{
signed char sc;
unsigned char uc;
signed short ss;
unsigned short us;
signed int si;
unsigned int ui;
signed long sl;
unsigned long ul;
float f
;
double d
;
long double ld;
};
int
main()
{
AllType
at;
cout <<
"&at = "
<< &at << "\n";
cout <<
"&at.sc = " << (int*)&at.sc << "\n";
cout <<
"&at.uc = " << (int*)&at.uc << "\n";
cout <<
"&at.ss = " << &at.ss << "\n";
cout <<
"&at.us = " << &at.us << "\n";
cout <<
"&at.si = " << &at.si << "\n";
cout <<
"&at.ui = " << &at.ui << "\n";
cout <<
"&at.sl = " << &at.sl << "\n";
cout <<
"&at.ul = " << &at.ul << "\n";
cout <<
"&at.f = " <<
&at.f << "\n";
cout <<
"&at.d = " <<
&at.d << "\n";
cout <<
"&at.ld = " << &at.ld << "\n";
return 0;
}
2. ´ÙÀ½ Äڵ忡¼ ÃÖÁ¾ÀûÀ¸·Î uni.i°¡ °®´Â °ªÀº ¾î¶»°Ô µÉ±î? 16Áø¼ö·Î ´äº¯Çغ¸ÀÚ.
union UNI
{
int
i;
char
c;
} uni;
uni.i = 0x12345678;
uni.c = 0x90;
Á¤´ä->
uni.i¿Í uni.c´Â °°Àº ¸Þ¸ð¸® °ø°£À» Â÷ÁöÇÏÁö¸¸ uni.i°¡ uni.c º¸´Ù Å« Å©±â¸¦ °¡Áö°í ÀÖ´Ù. ±×·¯¹Ç·Î uni.i¿Í uni.c°¡ °øÀ¯Çϰí ÀÖ´Â °ø°£ÀÇ °ª¸¸ ¹Ù²î°Ô 0x90À¸·Î ¹Ù²î´Â °ÍÀÌ ¸Â´Ù. ±×·¡¼ ÃÖÁ¾ÀûÀ¸·Î uni.i°¡ °®´Â °ªÀº 0x12345690ÀÌ µÈ´Ù.
3. ¿©·¯ºÐÀÌ ÁÁ¾ÆÇÏ´Â 10°³ÀÇ ±¹°¡¿¡ ´ëÇÑ ½Éº¼À» Á¤ÀÇÇÏ´Â ¿°Åü¸¦ ¸¸µé¾îº¸ÀÚ.
¿©·¯ºÐÀÌ ÇØº¸ÀÚ.
4. ·¹ÆÛ·±½º´Â ¾î¶² ŸÀÔÀÇ º¯¼ö¶óµµ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù. int* ŸÀÔÀÇ º¯¼ö¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â ·¹ÆÛ·±½º º¯¼ö¸¦ Á¤ÀÇÇØº¸ÀÚ.
Á¤´ä->
int a = 100;
int* p = &a;
int*&
r = p;
5. typedefÀ» »ç¿ëÇØ¼ 'int ŸÀÔ ¿ø¼Ò¸¦ 10°³ °®´Â ¹è¿' ŸÀÔÀ» ARR_INT_10 À̶ó´Â »õ·Î¿î ŸÀÔ À̸§À¸·Î Á¤ÀÇÇØº¸ÀÚ.
Á¤´ä->
typedef
int ARR_INT_10[10];