我们可以先创建一个整型数组,利用函数对该数组实现一系列的操作。
如下是一个主函数
#include"test.h"
int main(){
int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int num = sizeof(arr) / sizeof(arr[0]);
printf("数组:\n");
print(arr, num);//打印数组。
printf("数组逆序:\n");
reverse(arr, num);
print(arr, num);
printf("数组初始化:\n");
InitString(arr, num);
print(arr, num);
system("pause");
return 0;
}
这里先初始化一个整型数组,并且求出数组元素的个数。
int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int num = sizeof(arr) / sizeof(arr[0]);
然后将数组和元素的个数作为参数传入函数print()中,逐一打印数组中的元素,实现如下
void print(int string[],int n){
for (int i = 0; i < n; i++){
printf("%d ", string[i]);
}printf("\n");
}
接下来是reverse()函数,将数组和数组个数传入,利于数组的逆序,这里使用start,end作为数组的计数器。通过迭代的方式,将第一个元素与最后一个元素交换,依次想中间实现交换,直到start小于end。这里一定要注意数组的下标,要正确,因为数组的下标是从0开始的,数组的个数比下标多1,这里容易出现问题。具体函数如下:
void reverse(int string[],int n){
int start = 0, end = n-1,m=0;//注意传入的数字是个数,比数组下标多一
while (start<end){
m = string[start];
string[start] = string[end];
string[end] = m;
start++;
end--;
}int i = 0;
}
最后是数组的初始化,InitString(arr, num)。这个函数很贱但,就是将数组的每一个元素初始化为0,具体实现如下:
void InitString(int string[],int n){
int i = 0;
for (; i < n; i++){
string[i] = 0;
}
}
以上就完成了,对整型数组的一系列的操作了。