黑马程序员技术交流社区
标题:
数组传参的两种用法
[打印本页]
作者:
Northcity
时间:
2015-7-25 23:00
标题:
数组传参的两种用法
第一种 数组名 数组长度
#include <stdio.h>
int caculate(int *arr,int);
int main(int argc, const char * argv[]) {
int arr[6]={0,1,2,3,4,5};
printf("数组和是%d\n",caculate(arr,6));
return 0;
}
int caculate(int start[], int len){
int total = 0;
for(int i = 0;i < len;i++)
total+=start[i];
return total;
}
复制代码
第二种 数组名 数组结尾指针(注意C语言允许指针指向数组后一位,越界而不报错,但是不保证内容 例如:caculate(arr,arr+6))
#include <stdio.h>
int caculate(int *arr,int *n);
int main(int argc, const char * argv[]) {
int arr[6]={0,1,2,3,4,5};
printf("数组和是%d\n",caculate(arr,arr+6));
return 0;
}
int caculate(int *start, int *end){
int total = 0;
while(start < end){
total += *start;
start++;
}
return total;
}
复制代码
作者:
luffy901210
时间:
2015-7-25 23:02
呵呵,用心良苦啊,难得可贵,加油!骚年
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2