なぜポインタで引っかかる人が多いのか
■ このスレッドは過去ログ倉庫に格納されています
0199デフォルトの名無しさん
2010/07/06(火) 18:54:32・char , int は型である。
・Tが型ならば、T[N]は型である。(Tの配列と解釈する)
・Tが型ならば、$Tは型である。(Tへのポインタと解釈する)
・T,U1,U2,…,Umが型ならば、T(U1,U2,…,Um)という記号列は型である。(関数と解釈する)
・宣言方法は「T a;」とする。
具体例(カッコは適宜省略) C言語での表記法
↓ ↓
int a; ( int a;という意味)
int[N] a; ( int a[N];という意味)
(int[w])[h] a; ( int a[h][w];という意味。wとhは逆になる)
$int a; ( int* a; )
int(char) func; ( int func(char); )
$($int) a; ( int** a; )
($int)[N] a; ( int* a[N]; )
$(int[N]) a; ( int (*a)[N]; )
$(int(char)) f; ( int (*f )(char); )
($int)(char) f; ( int* f (char); )
int($char) f; ( int f (char*); )
($(int(char)))[N] f; ( int (*f [N])(char); )
($$(int(char)))[N] f; ( int (**f [N])(char); )
$(($(int(char)))[N]) f; ( int (*(*f )[N])(char); )
■ このスレッドは過去ログ倉庫に格納されています