© 2005 Martin J. Dürst 青山学院大学
getstring 関数の設計:
位置 | 指数の値 | 入力文字 | ||
EOF |
\n |
他 | ||
最初 | i==0 |
b[0]='\0'; return end; |
b[0]='\0'; return okay; |
b[0]=c; i++; |
場所あり | i<l-1 |
b[i]='\0'; return okay; |
b[i]='\0'; return okay; |
b[i]=c; i++; |
ぎりぎり | i==l-1 |
b[i]='\0'; return okay; |
b[i]='\0'; return okay; |
b[i]='\0'; i++; |
多すぎ | i>l-1 |
return over; |
return over; |
なし |
&
(単項)*
(単項)int
のポインタ、double
のポインタ、char
のポインタ実際、C の場合には配列とポインタは殆ど同じ
&*
p ≡ p
*&
v ≡ v
*(
p+
i)
≡
p[
i]
≡
i[
p]
(p はポインタか配列かは問わない)
scanf
などコンパイラが型をチェックできない場合)void function (int *p) { if (*p < 10) *p += 3; }
int i = 5; function (&i);
int *a;
と int a[];
は全く同じ)