プログラム言語ごとの配列の扱い

配列は、同じ型のデータを一括で管理するための基本的なデータ構造です。以下に、代表的なプログラミング言語ごとに配列の扱い方を整理します。


1. C言語

  • 配列の宣言と初期化
int arr[5] = {1, 2, 3, 4, 5};
  • 要素へのアクセス
printf("%d", arr[0]); // 1
  • 配列の長さ: 配列の長さは固定で変更不可。

2. C++

  • 配列の宣言と初期化
int arr[5] = {1, 2, 3, 4, 5};
  • 標準ライブラリを使用した動的配列
#include <vector>
std::vector<int> vec = {1, 2, 3, 4, 5};
vec.push_back(6); // 動的に要素を追加可能
  • 要素へのアクセス
std::cout << arr[0] << std::endl; // 1
std::cout << vec[0] << std::endl; // 1

3. Java

  • 配列の宣言と初期化
int[] arr = {1, 2, 3, 4, 5};
  • 要素へのアクセス
System.out.println(arr[0]); // 1
  • 配列の長さ
System.out.println(arr.length); // 5

4. Python

  • リスト(配列として扱う)
arr = [1, 2, 3, 4, 5]
  • 要素へのアクセス
print(arr[0]) # 1
  • 可変長配列
arr.append(6) # 動的に要素を追加可能

5. JavaScript

  • 配列の宣言と初期化
let arr = [1, 2, 3, 4, 5];
  • 要素へのアクセス
console.log(arr[0]); // 1
  • 動的配列
arr.push(6); // 動的に要素を追加可能

6. C#

  • 配列の宣言と初期化
int[] arr = {1, 2, 3, 4, 5};
  • 要素へのアクセス
Console.WriteLine(arr[0]); // 1
  • 配列の長さ
Console.WriteLine(arr.Length); // 5

7. Ruby

  • 配列の宣言と初期化
arr = [1, 2, 3, 4, 5]
  • 要素へのアクセス
puts arr[0] # 1
  • 可変長配列
arr.push(6) # 動的に要素を追加可能

8. Go (Golang)

  • 配列の宣言と初期化
var arr = [5]int{1, 2, 3, 4, 5}
  • スライスの使用(動的配列)
slice := []int{1, 2, 3, 4, 5}
slice = append(slice, 6)
  • 要素へのアクセス
fmt.Println(arr[0]) // 1
fmt.Println(slice[0]) // 1

9. Rust

  • 配列の宣言と初期化
let arr = [1, 2, 3, 4, 5];
  • 可変長ベクター
let mut vec = vec![1, 2, 3, 4, 5];
vec.push(6); // 動的に要素を追加可能
  • 要素へのアクセス
println!("{}", arr[0]); // 1
println!("{}", vec[0]); // 1

10. Kotlin

  • 配列の宣言と初期化
val arr = arrayOf(1, 2, 3, 4, 5)
  • リスト(より一般的)
val list = mutableListOf(1, 2, 3, 4, 5)
list.add(6)
  • 要素へのアクセス
println(arr[0]) // 1
println(list[0]) // 1

違いのまとめ

言語静的配列のサポート動的配列のサポート要素数取得方法その他の特徴
C固定長で設計シンプルで低レベルな操作が可能
C++✓ (std::vector)size()標準ライブラリで強力な機能を提供
Java✓ (ArrayList).lengthコレクションAPIが充実
Python✗ (リストで代用)len()可変長で柔軟な操作が可能
JavaScript✗ (配列のみ).lengthオブジェクトとして柔軟に利用可能
C#✓ (List).LengthLINQと連携可能
Ruby✗ (配列のみ).size簡潔な構文と強力な操作性
Go✓ (スライス)len()スライスで柔軟に対応可能
Rust✓ (Vec).len()所有権モデルで安全性を提供
Kotlin✓ (Array)✓ (List).sizeシンプルでモダンな操作性

これらの情報を参考に、用途や言語の特性に応じた配列操作を選択しましょう。

C#,配列

Posted by hidepon