admin 管理员组

文章数量: 1086019


2024年4月22日发(作者:fifo读不建议读空为啥)

头歌实践教学用指针数组求各行元素之和

C语言指针求数组所有元素和的方法

方法一:

函数有两个形参,第1个形参告诉函数数组的首地址和数据类型;第2个形参告诉函

数此数组中元素的个数。

示例:此例中编写了sum函数求数组中各元素之和。

#include

#defineSIZE10

intsum(int*ar,intn);//第1个参数是数组首地址,第2个参数是数组元素个数

intmain(void){

intarr[10]={20,39,34,98,9,23,44,12,16,2};

longresult;

result=sum(arr,SIZE);

printf(“数组之和:%ldn”,result);

return0;

}

intsum(int*ar,intn){

inti;

inttotal=0;

for(i=0;i

total+=ar[i];

}

returntotal;

}

在上述程序中intsum(int*ar,intn),第1个参数是数组首地址,第2个参数是数

组元素个数。

方法二:

使用指针作为形参,函数处理数组必须要知道何时开始、何时结束。传递两个指针,

第1个指针说明数组的开始位置,第2个指针说明数组的结束位置。

示例:

#include

#defineSIZE10

intsum(int*start,int*end);

intmain(void){

intarr[10]={20,39,34,98,9,23,44,12,16,2};

longresult;

result=sum(arr,arr+SIZE);

printf(“数组之和:%ldn”,result);

return0;

}

intsum(int*start,int*end){

inttotal=0;

while(start

total+=*start;

start++;

}

returntotal;

}

在上述程序中,求和函数sum中包含了两个指针intsum(int*start,int*end),*start

表示指向数组的首元素;total+=*start把首元素加给total;start++递增指针变量,将它

指向下一个数组元素。

总结

编写处理数组的函数,传递参数的编写有两种方式

(1)函数的形参中,第1个形参说明数组的地址和数据类型;第2个参数说明数组

中的元素个数。

(2)函数的形参中,第1个指针说明数组的开始位置,第2个指针说明数组的结束

位置。


本文标签: 数组 指针 函数 元素 说明