void型のサイズは?
久々の投稿!
新人教育の際に調べたことを残しておきます。
新人さんがvoidポインタに加算…
VCやと見事にコンパイルエラーw
んで何で?って聞かれたから以下のようなコードを記述して
「void型はサイズが不定やからエラーが出るんやで…」といいながら
gccでコンパイルしてみてん。
----
void* a = 0;
a++;
----
そしたら、コンパイル通るやん!!!
新人さんもビックリやけど、僕はもっとビックリやわ!
何でや何でや?ってとりあえず
printf("%d",sizeof(void));
と打ち込んでgccでコンパイルして実行。
表示された値は「1」 いち?
gccやとvoid型のサイズは 1 とし認識されているようですわ。
※ちなみにVC6.0やとサイズ不定ってエラーが出ます。
C++では型が厳しくなってるからg++でもコンパイルエラーでます。
0 件のコメント:
コメントを投稿