龙空技术网

C语言数组,函数,指针

大懒水母 80

前言:

当前你们对“计算i2i的值并存入数组arrsize”大约比较注重,小伙伴们都需要剖析一些“计算i2i的值并存入数组arrsize”的相关资讯。那么小编在网上收集了一些关于“计算i2i的值并存入数组arrsize””的相关内容,希望朋友们能喜欢,朋友们一起来了解一下吧!

编写处理数组的函数,使用指针作为形参,可以采用以下方式。

方式一

数组名是该数组元素的首地址,所以可以传递数组名作为首地址,但仅有一个参数并不够,需要知道数组的长度,所以需要将数组长度作为第二个参数。

#include<stdio.h>#define SIZE 10int sum(int * ar, int n);int main(void){    int arr[SIZE] = {20,10,5,39,4,16,19,26,31,20};    long answer;    answer = sum(arr, SIZE);    printf("The totle number of marbles is %ld.\n",answer);	    return 0;}int sum(int *ar,int n){    int i;    int total = 0;    for(i=0;i<n;i++){        total += ar[i];    }    return total;}

int sum(int *ar,int n)中,int * ar是指针变量,int n表示数组的长度。answer = sum(arr, SIZE),arr表示数组首地址,SIZE为数组的长度。

方式二

明确数组的开始位置与结束位置,分别将开始地址和结束地址作为形参。

#include<stdio.h>#define SIZE 10int sum(int * start, int * end);int main(void){    int arr[] = {20,10,5,39,4,16,19,26,31,20};    long answer;    answer = sum(arr, arr+SIZE);    printf("The total number of marbles is %ld.\n",answer);	    return 0;}int sum(int * start, int * end){    int total = 0;    while(start < end){        total += *start;        start++;    }    return total;}

int sum(int * start, int * end),int * start表示数组开始地址,int * end表示数组结束地址。answer = sum(arr, arr+SIZE),调用时实参arr表示数组的开始地址,SIZE是数组的大小,arr+SIZE指向数组末尾的下一个位置。

总结,

C语言中编写数组处理函数,使用指针作为形参有一下方式:

(1)使用数组的首地址,数组长度作为形参

(2)使用数组的首地址,数组结束地址作为形参

标签: #计算i2i的值并存入数组arrsize