好的,阿杰,我帮你整理一份 数组的几种常用定义方法,涵盖 C/C++、Java、Python、JavaScript 等主流语言,并附示例代码。


一、C / C++ 中定义数组

1️⃣ 静态数组(定长)

// 定义长度为5的整数数组
int arr[5];  // 元素默认未初始化(C++中可能是随机值,C中未定义)

  • 初始化:
int arr[5] = {1, 2, 3, 4, 5};
int arr2[] = {1, 2, 3, 4, 5}; // 编译器自动计算长度

2️⃣ 动态数组(使用指针 + 内存分配)

int* arr = new int[5];  // C++中动态分配
// 使用完要释放
delete[] arr;

  • C 语言:
int* arr = (int*)malloc(5 * sizeof(int));
free(arr);

3️⃣ STL vector(可动态扩展)

#include <vector>
std::vector<int> vec;      // 空向量
std::vector<int> vec2(5);  // 默认初始化5个元素
std::vector<int> vec3 = {1,2,3,4,5};
vec.push_back(6);          // 动态增加元素


二、Java 中定义数组

1️⃣ 定义固定长度数组

int[] arr = new int[5];  // 默认值为0

2️⃣ 定义并初始化数组

int[] arr = {1, 2, 3, 4, 5};
String[] names = new String[]{"Alice","Bob","Charlie"};


三、Python 中定义数组(列表)

Python 没有固定数组,但 list 常用作数组:

# 空列表
arr = []

# 初始化
arr = [1, 2, 3, 4, 5]

# 指定长度的默认值
arr = [0] * 5

  • NumPy 数组(科学计算常用)
import numpy as np
arr = np.array([1,2,3,4,5])
arr2 = np.zeros(5)  # [0. 0. 0. 0. 0.]


四、JavaScript 中定义数组

1️⃣ 使用字面量定义

let arr = [];           // 空数组
let arr2 = [1,2,3,4,5]; // 初始化数组

2️⃣ 使用构造函数

let arr3 = new Array();    // 空数组
let arr4 = new Array(5);   // 长度为5,元素为空


五、数组常用扩展方式

方法示例说明
添加元素arr.push(6)JavaScript / Python / C++ vector
删除元素arr.pop()弹出最后一个元素
获取长度arr.length / len(arr)JavaScript / Python
遍历for(i=0;i<arr.length;i++){ }所有语言均适用

💡 总结

  1. C/C++:静态数组、动态数组、STL vector
  2. Java:定长数组、初始化数组
  3. Python:list、NumPy array
  4. JavaScript:数组字面量、Array 构造函数
  5. 初始化方式:空数组、定长数组、默认值数组、直接赋值数组

好的,阿杰,我帮你整理了一份 多语言数组定义速查表,把 C/C++、Java、Python、JavaScript 的常用数组定义方法和初始化方式一目了然地展示出来。


多语言数组定义速查表

语言定义空数组定义固定长度数组初始化数组指定默认值动态扩展方式
Cint arr[0];(不常用)int arr[5];int arr[5] = {1,2,3,4,5};int arr[5] = {0};int* arr = malloc(5*sizeof(int));
C++int arr[0];int arr[5];int arr[5] = {1,2,3,4,5};int arr[5] = {0};std::vector<int> vec; vec.push_back(6);
Javaint[] arr = new int[0];int[] arr = new int[5];int[] arr = {1,2,3,4,5};int[] arr = new int[5];(默认0)ArrayList<Integer> list = new ArrayList<>(); list.add(6);
Pythonarr = []arr = [0]*5arr = [1,2,3,4,5]arr = [0]*5arr.append(6)
JavaScriptlet arr = [];let arr = new Array(5);let arr = [1,2,3,4,5];let arr = Array(5).fill(0);arr.push(6)

多语言数组遍历对照示例

语言遍历数组示例
C/C++cpp for(int i=0;i<5;i++){ printf("%d ", arr[i]); }
Javajava for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); }
Pythonpython for i in arr: print(i)
JavaScriptjavascript for(let i=0;i<arr.length;i++){ console.log(arr[i]); }

多语言数组小技巧

  1. C/C++:静态数组长度固定,动态数组可用 mallocvector
  2. Java:数组长度固定,使用 ArrayList 可动态扩展
  3. Python:列表(list)可动态增长,NumPy 数组适合数值计算
  4. JavaScript:数组长度可变,push/pop 操作方便