<div>다른글에 void형 포인터 나와서</div> <div>우분투/gcc에서 테스트 하는데 이상한 부분이 있네요</div> <div><br></div> <div><br></div> <div>일단.. sizeof(void)는 1</div> <div>1로 인식하니.. ++ 연산에서 1씩 올라가는건 이해가 되지만..</div> <div>void가 어떻게 1이죠!?!??!</div> <div><br></div> <div><br></div> <div>아니 포인터면... 4 여야 하는거 아니었나요?!?!(32비트 기준)</div> <div><br></div> <div> <table class="txc-table" width="647" cellspacing="0" cellpadding="0" border="0" style="margin:0px;padding:0px;border:none;line-height:15.6000003814697px;font-family:'돋움';color:#8a8a8a;font-size:12px;border-collapse:collapse;"><tbody style="margin:0px;padding:0px;border:0px;line-height:1.3;font-family:'돋움', Dotum, AppleGothic, sans-serif;"><tr style="margin:0px;padding:0px;border:0px;line-height:1.3;"><td style="margin:0px;padding:2px;border:1px solid rgb(204,204,204);line-height:1.5;font-family:'돋움';font-size:9pt;color:#333333;width:647px;height:24px;background-color:#eeeeee;"> <p style="margin:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;font-family:'돋움', Dotum, AppleGothic, sans-serif;padding-top:0px;padding-bottom:0px;"><span style="margin:0px;padding:0px;border:0px;line-height:1.5;font-size:9pt;">$ gcc -v</span></p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;font-family:'돋움', Dotum, AppleGothic, sans-serif;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">Using built-in specs.</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;font-family:'돋움', Dotum, AppleGothic, sans-serif;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">COLLECT_GCC=gcc</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;font-family:'돋움', Dotum, AppleGothic, sans-serif;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;font-family:'돋움', Dotum, AppleGothic, sans-serif;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">Target: <b>x86_64</b>-linux-gnu</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;font-family:'돋움', Dotum, AppleGothic, sans-serif;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;font-family:'돋움', Dotum, AppleGothic, sans-serif;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">Thread model: posix</p> <p style="margin:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;font-family:'돋움', Dotum, AppleGothic, sans-serif;padding-top:0px;padding-bottom:0px;"><span style="margin:0px;padding:0px;border:0px;line-height:1.5;font-size:9pt;">gcc version <span style="margin:0px;padding:0px;border:0px;line-height:1.3;color:#ff0000;"><b style="margin:0px;padding:0px;border:0px;line-height:1.3;">4.6.3</b></span> (Ubuntu/Linaro 4.6.3-1ubuntu5)</span> </p></td></tr></tbody></table><p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:15.6000003814697px;font-family:'돋움', Dotum, AppleGothic, sans-serif;color:#8a8a8a;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"><br style="margin:0px;padding:0px;border:0px;line-height:1.3;"></p> <table class="txc-table" width="647" cellspacing="0" cellpadding="0" border="0" style="margin:0px;padding:0px;border:none;line-height:15.6000003814697px;font-family:'돋움', Dotum, AppleGothic, sans-serif;color:#8a8a8a;font-size:12px;border-collapse:collapse;"><tbody style="margin:0px;padding:0px;border:0px;line-height:1.3;"><tr style="margin:0px;padding:0px;border:0px;line-height:1.3;"><td style="margin:0px;padding:2px;border:1px solid rgb(204,204,204);line-height:1.3;background-color:#eeeeee;"> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"><span style="margin:0px;padding:0px;border:0px;line-height:1.5;font-size:9pt;">$ vi void.c</span></p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">#include <stdio.h></p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"><br style="margin:0px;padding:0px;border:0px;line-height:1.3;"></p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">void main()</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">{</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"> void *fp;</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"> int a = 0;</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"> fp = &a;</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"><br style="margin:0px;padding:0px;border:0px;line-height:1.3;"></p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"> printf("sizeof(void) %d\n",sizeof(void));</p> <div style="margin:0px;padding:0px;border:0px;line-height:1.3;"><span style="margin:0px;padding:0px;border:0px;line-height:1.5;font-size:9pt;"> printf("fp %8X\n",fp);</span></div> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"> fp++;</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"> printf("fp %8X\n",fp);</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"><span style="margin:0px;padding:0px;border:0px;line-height:1.5;font-size:9pt;">}</span> </p></td></tr></tbody></table><p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:15.6000003814697px;font-family:'돋움', Dotum, AppleGothic, sans-serif;color:#8a8a8a;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"></p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:15.6000003814697px;font-family:'돋움', Dotum, AppleGothic, sans-serif;color:#8a8a8a;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">(남자니까) 경고따윈 무시한다!</p> <table class="txc-table" width="647" cellspacing="0" cellpadding="0" border="0" style="margin:0px;padding:0px;border:none;line-height:15.6000003814697px;font-family:'돋움';color:#8a8a8a;font-size:12px;border-collapse:collapse;"><tbody style="margin:0px;padding:0px;border:0px;line-height:1.3;font-family:'돋움', Dotum, AppleGothic, sans-serif;"><tr style="margin:0px;padding:0px;border:0px;line-height:1.3;"><td style="margin:0px;padding:2px;border:1px solid rgb(204,204,204);line-height:1.3;width:647px;height:24px;background-color:#eeeeee;"> <p style="margin:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.5;font-family:'돋움';color:#333333;font-size:9pt;padding-top:0px;padding-bottom:0px;"><span style="margin:0px;padding:0px;border:0px;line-height:1.5;font-family:'돋움', Dotum, AppleGothic, sans-serif;font-size:9pt;">$ gcc void.c</span></p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">void.c: In function ‘main’:</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">void.c:9:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat]</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">void.c:10:2: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 2 has type ‘void *’ [-Wformat]</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:1.3;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">void.c:12:2: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 2 has type ‘void *’ [-Wformat]</p></td></tr></tbody></table><p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:15.6000003814697px;font-family:'돋움', Dotum, AppleGothic, sans-serif;color:#8a8a8a;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;"><br style="margin:0px;padding:0px;border:0px;line-height:1.3;"></p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:15.6000003814697px;font-family:'돋움', Dotum, AppleGothic, sans-serif;color:#8a8a8a;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">어? 연산이 되네? ㄷㄷㄷ 일단은 byte로 간주..</p> <p style="margin-right:0px;margin-left:0px;padding-right:0px;padding-left:0px;border:0px;line-height:15.6000003814697px;font-family:'돋움', Dotum, AppleGothic, sans-serif;color:#8a8a8a;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">어? 게다가.. 왜 void의 sizeof가 1?</p> <table class="txc-table" width="647" cellspacing="0" cellpadding="0" border="0" style="margin:0px;padding:0px;border:none;line-height:15.6000003814697px;font-family:'돋움';color:#8a8a8a;font-size:12px;border-collapse:collapse;"><tbody style="margin:0px;padding:0px;border:0px;line-height:1.3;font-family:'돋움', Dotum, AppleGothic, sans-serif;"><tr style="margin:0px;padding:0px;border:0px;line-height:1.3;"><td style="margin:0px;padding:2px;border:1px solid rgb(204,204,204);line-height:1.3;background-color:#eeeeee;"> <div style="margin:0px;padding:0px;border:0px;line-height:1.3;">$ ./a.out</div> <div style="margin:0px;padding:0px;border:0px;line-height:1.3;"> <div style="margin:0px;padding:0px;border:0px;line-height:1.3;">sizeof(void) 1</div> <div style="margin:0px;padding:0px;border:0px;line-height:1.3;">fp E9F5689C</div> <div style="margin:0px;padding:0px;border:0px;line-height:1.3;">fp E9F5689D</div></div></td></tr></tbody></table></div>
어... 세상이 무너진다 ㄷㄷㄷㄷ
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.