2007年5月28日月曜日

void型のサイズは?

久々の投稿!

新人教育の際に調べたことを残しておきます。

新人さんがvoidポインタに加算…
VCやと見事にコンパイルエラーw
んで何で?って聞かれたから以下のようなコードを記述して
「void型はサイズが不定やからエラーが出るんやで…」といいながら
gccでコンパイルしてみてん。
----
void* a = 0;
a++;
----
そしたら、コンパイル通るやん!!!
新人さんもビックリやけど、僕はもっとビックリやわ!

何でや何でや?ってとりあえず
printf("%d",sizeof(void));
と打ち込んでgccでコンパイルして実行。
表示された値は「1」 いち?
gccやとvoid型のサイズは 1 とし認識されているようですわ。

※ちなみにVC6.0やとサイズ不定ってエラーが出ます。

C++では型が厳しくなってるからg++でもコンパイルエラーでます。

0 件のコメント:

ラベル