主に配列
課題の確認:
- コマンドラインからの符号なし整数をビット表示
- ファイルの16進ダンプ
- asciiコマンド
- 新規:画像ファイルを読んで、縦横“サイズ”などを表示
- ファイルの扱いやエラー処理の常識を自習
履歴はとっておけ! バカな自分を振り返れば、進歩した自分に自信を持てる。
定数とは:
これをできるだけ低水準で解釈せよ。そのとき、5って何?
y = x + 5;
ポインタ算術:
- ポインタと生アドレスは違う
- ポインタ ± 整数
- ポインタ - ポインタ
配列:
#includechar a0[] = {'a', 'b', 'c', '\0'};
char a1[] = {'x', 'y', 'z', '\0'};
char[] a[] = {a0, a1};
// char* a[] = {a0, a1};char *b[] = {"abc", "xyz"};
char c[][4] = {{'a', 'b', 'c', '\0'}, {'x', 'y', 'z', '\0'}};
char d[][] = {{'a', 'b', 'c', '\0'}, {'x', 'y', 'z', '\0'}};
// オマケ xもa, b, cと同じにするには?
unsigned x0 = 0;
unsigned x1 = 0;
unsigned * x[] = {&x0, &x1};main()
{
int i;
// a
for (i = 0; i < 2; i++) {
printf("a[%d] : %s\n", i, a[i]);
}
// b
for (i = 0; i < 2; i++) {
printf("b[%d] : %s\n", i, b[i]);
}
// c
for (i = 0; i < 2; i++) {
printf("c[%d] : %s\n", i, c[i]);
}
// x
for (i = 0; i < 2; i++) {
printf("x[%d] : %s\n", i, x[i]);
}
}