数组作为函数参数的传递
2012-02-28 19:17
309 查看
#include <stdio.h>
void main()
{
int data[] = {1,2,3,4,5,6,7,8,9,10};
int size = sizeof(data)/sizeof(data[0]);//(********)求数组中元素的个数
printf("%d\n",sizeof(data)); //此处求的是数组的大小
printf("%d\n",addArray(data,size)); //疑问:addArray函数的使用在声明之前?为什么还会编译成功?
//判断被调函数是否改变数组的值
printf("%d\n",data[1]); //确实改变了,看来只要传递的是指针,就能改变内存的值
}
//数组元素求和方法一
int addArray(int array[],int n)
{
int sum = 0;
int i;
printf("%d\n",sizeof(array));//此处求的是int型的大小,说明array是一个指向整型的指针,可见数组名和指针不同(用sizeof看出)
for(i = 0 ; i < n ; i++)
{
sum += array[i];
}
//既然数组作为参数传递是指针,那么在被调函数中修改数组,就会改变原来数组的值
array[1] = 9;
return sum;
}
//数组元素求和方法二
int addArray(int *array,int n) //直接定义指针
{
int sum = 0;
int i;
for(i=0;i<n;i++)
{
sum += *array++; //(*********)
}
return sum;
}
相关文章推荐
- C语言中如何将数组作为函数参数传递
- c++中关于数组作为函数参数并传递数组元素个数的几种有效方法的讨论
- C语言中,数组名作为参数传递给函数时,退化为指针
- 数组作为函数参数的传递方法
- 当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针!
- C语言技巧:怎样把数组作为参数传递给函数?
- string和数组作为参数传递给函数
- (转载) C语言技巧:怎样把数组作为参数传递给函数?(值传递和指针传递)
- 数组作为函数参数并传递数组元素个数的几种有效方法
- C语言技巧:怎样把数组作为参数传递给函数?
- c++中关于数组作为函数参数并传递数组元素个数的几种有效方法的讨论
- C++学习笔记(四)——关于数组作为函数参数的值传递和引用传递
- C语言中,数组名作为参数传递给函数时,退化为指针
- C语言中,数组名作为参数传递给函数时,退化为指针
- 数组作为函数参数传递
- 数组作为函数的参数传递
- C语言中,数组名作为参数传递给函数时,退化为指针
- 数组作为函数参数传递时
- 关于将数组作为参数传递给函数的简单使用
- 一维数组和二位数组作为函数参数进行传递的方式