下面是关于 C 语言一维数组的完整使用攻略。
一维数组定义
在C语言中定义一维数组需要指定数组的类型和数组的长度,例如:
int arr1[10]; //声明一个长度为10的整型数组
char arr2[5]; //声明一个长度为5的字符型数组
double arr3[8]; //声明一个长度为8的双浮点型数组
在上述代码中分别定义了三个不同类型的数组,并指定了它们的长度为10、5、8。
一维数组的初始化
一旦定义了一个一维数组,可以通过初始化对数组进行赋值,例如:
int arr1[5] = {1, 2, 3, 4, 5}; //初始化一个长度为5的整型数组
char arr2[3] = {'a', 'b', 'c'}; //初始化一个长度为3的字符型数组
double arr3[4] = {2.1, 3.4, 5.6}; //初始化一个长度为4的双浮点型数组
在上述代码中,分别对三个不同类型的数组进行了初始化,这样每个数组就有了初始值。
一维数组的访问
一维数组中的每个元素可以通过下标(从0开始)进行访问,例如:
int arr1[5] = {1, 2, 3, 4, 5}; //定义并初始化一个长度为5的整型数组
int x = arr1[0]; //访问数组的第一个元素,也就是 1
int y = arr1[2]; //访问数组的第三个元素,也就是 3
在上述代码中,通过下标访问了数组中的第一个元素和第三个元素。
一维数组的遍历
数组可以通过循环进行遍历访问它的每一个元素,例如:
int arr1[5] = {1, 2, 3, 4, 5}; //定义并初始化一个长度为5的整型数组
int i;
for (i = 0; i < 5; i++) { //循环遍历数组中的每一个元素,输出每个元素的值
printf("%d ", arr1[i]);
}
在上述代码中,通过循环遍历了数组中的每个元素,并输出了每个元素的值,输出结果为 1 2 3 4 5。
一维数组作为函数参数
一维数组可以作为函数的参数进行传递,例如:
void print_arr(int arr[], int len) { //定义一个函数,参数是一个整型数组和数组的长度
int i;
for (i = 0; i < len; i++) { //循环遍历数组中的每一个元素,输出每个元素的值
printf("%d ", arr[i]);
}
}
int main() {
int arr1[5] = {1, 2, 3, 4, 5};
print_arr(arr1, 5); //调用函数并将数组以及数组的长度传递给函数
return 0;
}
在上述代码中,定义了一个函数 print_arr,接收一个整型数组和数组的长度作为参数,循环遍历数组并输出每一个元素。然后在主函数中,定义了一个数组 arr1,并将它以及数组的长度传递给函数 print_arr。最终输出结果为 1 2 3 4 5。
示例一
下面是一个求一维数组平均值的代码示例:
#include <stdio.h>
double average(double arr[], int len) { //定义一个函数,参数是一个双浮点型数组和数组的长度
int i;
double sum = 0.0;
for (i = 0; i < len; i++) { //循环遍历数组中的每一个元素,累加每个元素的值
sum += arr[i];
}
return sum / len; //数组的平均值等于数组元素的和除以数组的长度
}
int main() {
double arr1[5] = {1.0, 2.0, 3.0, 4.0, 5.0}; //定义并初始化一个长度为5的双浮点型数组
printf("The average of the array is: %lf\n", average(arr1, 5)); //调用函数并将数组以及数组的长度传递给函数
return 0;
}
在上述代码中,定义了一个函数 average,接收一个双浮点型数组和数组的长度作为参数,循环遍历数组并求出数组元素之和,然后返回数组的平均值。然后在主函数中,定义了一个数组 arr1,并将它以及数组的长度传递给函数 average。最终输出结果为 The average of the array is: 3.000000。
示例二
下面是一个反转一维数组的代码示例:
#include <stdio.h>
void reverse(int arr[], int len) { //定义一个函数,参数是一个整型数组和数组的长度
int i, j;
for (i = 0, j = len - 1; i < j; i++, j--) { //使用两个指针从数组的两端遍历数组并交换元素
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int main() {
int arr1[5] = {1, 2, 3, 4, 5}; //定义并初始化一个长度为5的整型数组
reverse(arr1, 5); //调用函数并将数组以及数组的长度传递给函数
int i;
for (i = 0; i < 5; i++) { //循环遍历数组中的每一个元素,输出每个元素的值
printf("%d ", arr1[i]);
}
return 0;
}
在上述代码中,定义了一个函数 reverse,接收一个整型数组和数组的长度作为参数,使用两个指针从数组的两端遍历数组并交换元素,从而实现将数组反转。然后在主函数中,定义了一个数组 arr1,并将它以及数组的长度传递给函数 reverse。最后循环遍历数组并输出每一个元素的值,输出结果为 5 4 3 2 1。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言一维数组 - Python技术站