配列
用途 : データを複数まとめて扱う
宣言と定義
- 値を全て0で初期化する場合
型 配列名[要素数(=データを格納する「箱」の数)] = { 0 };
- それぞれに代入する場合
型 配列名[] = { 値1, 値2,...};
※利用時、配列名[要素番号(0 ~ 要素数 - 1)]で「箱」を指定する
多次元配列
用途 : ステータス管理など
- 値を全て0で初期化する場合
型 配列名[要素数(=「箱」を格納する「箱」の数)][要素数] = { 0 };
- それぞれに代入する場合
型 配列名[][] = { {値1-1, 値1-2,...},... };
char*を使わずに文字列を宣言・定義する方法
char str[] = "Hello World"; // 例
ついでに...
- 文字列をコピーする
// コピー元の文字列にフォーマット指定子が入っていない場合
strcpy_s(コピー先の文字列変数, sizeof(コピー先の文字列変数), コピー元の文字列);
// コピー元の文字列にフォーマット指定子が入っている場合
snprintf(コピー先の文字列変数, sizeof(コピー先の文字列変数), コピー元の文字列, 変数名...);
※sizeof : ここでは、配列全体が占めるメモリ領域の大きさを取得
配列とfor文
要素番号をi(仮)に置き換える
example.c
#include <stdio.h>
int main()
{
int numbers[] = {1, 2, 3, 4, 5};
for(int i = 0; i < 5; i++)
{
// 数字を順に出力
printf("%d\n", numbers[i]);
}
return 0;
}
Range-based for loop(C++11以上のみ)
forとの違い : 処理の繰り返し処理を最初から最後まで実行でき、簡潔に記述できる
example.cpp
#include <iostream>
int main()
{
int numbers[] = {1, 2, 3, 4, 5};
for (int number : numbers)
{
// 数字を順に出力
std::cout << number << std::endl;
}
return 0;
}
foreach文(C#のみ)
forとの違い : 処理の繰り返し処理を最初から最後まで実行でき、簡潔に記述できる
example.cs
using System;
public class Example
{
static int Main(string[] args)
{
int[] numbers = new int[]{1, 2, 3, 4, 5};
foreach (int num in numbers)
{
// 数字を順に出力
Console.WriteLine($"{num}\n");
}
}
}