c语言-数组
时间: 2025-05-22 21:42:39 浏览: 26
### C语言数组基础知识
C语言中的数组是一种数据结构,用于存储相同类型的多个元素[^1]。通过定义一个数组,可以方便地管理一组具有相似特性的数据项。
#### 什么是数组?
数组是一组连续内存位置的集合,其中每个位置都保存着同一种数据类型的一个值。可以通过索引来访问这些值,索引通常从0开始。
#### 如何声明和初始化数组?
以下是声明和初始化数组的基本语法:
```c
int arrayName[arraySize];
```
例如,创建一个大小为5的整型数组并赋初值:
```c
int numbers[5] = {1, 2, 3, 4, 5};
```
#### 访问数组元素
要访问数组中的某个特定元素,可以使用其索引号。例如,`numbers[0]`表示数组的第一个元素。
#### 数组下标越界的常见问题
当尝试访问超出数组范围的元素时会发生数组下标越界错误。这种行为可能导致不可预测的结果甚至程序崩溃[^2]。因此,在操作数组之前应始终验证索引的有效性。
#### 排序算法的应用实例
对于给定的一组数值,可能需要用不同的方法对其进行排序。下面展示了两种常用的排序技术——冒泡排序和选择排序:
##### 冒泡排序实现
这是一种简单的比较交换式的排序方式,它重复遍历待排序列表直到没有更多需要交换的位置为止。
```c
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n-1; i++)
for (int j = 0; j < n-i-1; j++)
if (arr[j] > arr[j+1]) {
// swap arr[j] and arr[j+1]
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
```
上述函数实现了基本版本的冒泡排序逻辑[^3]。
##### 选择排序实现
该策略每次从未处理部分挑选最小(或最大)元素放到已排序序列末端。
```c
void selectionSort(int arr[], int n){
int min_idx;
for (int i = 0; i < n-1; i++){
min_idx = i;
for (int j = i+1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
if(min_idx !=i){
int tmp=arr[i];
arr[i]=arr[min_idx];
arr[min_idx]=tmp;
}
}
}
```
此代码片段提供了标准的选择排序过程[^5]。
### 多维数组的概念
除了单维度外,还可以构建二维或多维形式来表达更复杂的关系模型。比如矩阵就可以看作是一个特殊的二维表结构[^4]。
阅读全文
相关推荐













