好的,阿杰,我帮你整理一份 数组的几种常用定义方法,涵盖 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++){ } | 所有语言均适用 |
💡 总结:
- C/C++:静态数组、动态数组、STL vector
- Java:定长数组、初始化数组
- Python:list、NumPy array
- JavaScript:数组字面量、Array 构造函数
- 初始化方式:空数组、定长数组、默认值数组、直接赋值数组
好的,阿杰,我帮你整理了一份 多语言数组定义速查表,把 C/C++、Java、Python、JavaScript 的常用数组定义方法和初始化方式一目了然地展示出来。
多语言数组定义速查表
语言 | 定义空数组 | 定义固定长度数组 | 初始化数组 | 指定默认值 | 动态扩展方式 |
---|---|---|---|---|---|
C | int 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); |
Java | int[] 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); |
Python | arr = [] | arr = [0]*5 | arr = [1,2,3,4,5] | arr = [0]*5 | arr.append(6) |
JavaScript | let 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]); } |
Java | java for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } |
Python | python for i in arr: print(i) |
JavaScript | javascript for(let i=0;i<arr.length;i++){ console.log(arr[i]); } |
多语言数组小技巧
- C/C++:静态数组长度固定,动态数组可用
malloc
或vector
- Java:数组长度固定,使用
ArrayList
可动态扩展 - Python:列表(list)可动态增长,NumPy 数组适合数值计算
- JavaScript:数组长度可变,
push/pop
操作方便
发表回复