【z88dk】C言語/配列(1) 配列を要素数で参照する
初版 2026/01/31
改訂
array1.c
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
uint8_t array8[] = {10, 50, 100, 200};
uint16_t array16[] = {1000, 5000, 10000, 20000};
void main() {
// 配列の要素数はゼロから始まる
// printfの書式:
// 符号あり:%d
// 符号なし:%u
printf("value:\n");
for (uint8_t i = 0; i < 4; i++) {
printf("array8[%u] : %u\n", i, array8[i]);
}
for (uint8_t i = 0; i < 4; i++) {
printf("array16[%u]: %u\n", i, array16[i]);
}
return;
}
- 配列は、連続したアドレスにデータを配置し、アクセスする仕組みに過ぎない。
- 定義する際は、要素数を指定する必要はない。
- 配列データへのアクセスは、配列名の先頭アドレス+要素番号に該当するアドレス(配列の型により変動)に対して行われる。このとき、最大要素数以上の要素番号を指定してもエラーとはならないため、要素数の管理には注意すること。
コンパイル
compile.sh
#!/bin/sh
zcc +msx -lmsxbios --list -subtype=msxdos $1.c -o $1.com
$ ./compile.sh ./array1
実行結果

※MSXDOS.SYSとCOMMAND.COM、コンパイルして作成した.COMを配置したディレクトリをopenMSXでマウント、MSXDOSから実行