C语言用函数实现数组赋值

主函数中有一个数组M_a[31]={0};现在要求编写一个函数 void Chg_Array() 使数组M_a[31]中所有元素赋值为9,我知道要用指针,二维指针,可是用不明白,请高手指教~~

第1个回答  推荐于2018-03-08
如果你非要用指针的话,可以把数组的形式改写成指针的形式,就像一楼的
void Chg_Array(int array[], int size, int value)
{
int i;
for(i=0;i<size;i++)
*(array+i)=value ;
}本回答被网友采纳
第2个回答  推荐于2017-12-16
void Chg_Array(int array[], int size, int value)
{
int i;
for(i=0;i<size;i++)
array[i]=value;
}
Chg_Array(M_a, 31, 9) //将数组 M_a 的31个元素赋值为9. 一维数组不需要二维指针。本回答被提问者采纳
第3个回答  2019-01-23
你这样属于溢出,因为后面的几个元素不在为数组分配内存区域内,因此可以被其它数据任意占用,值也就可能会改变。这种操作应该避免,对于数组赋值,应该进行严格的边界检查
第4个回答  2020-01-29
void
Chg_Array(int
array[],
int
size,
int
value)
{
int
i;
for(i=0;i<size;i++)
array[i]=value;
}
Chg_Array(M_a,
31,
9)
//将数组
M_a
的31个元素赋值为9.
一维数组不需要二维指针。
第5个回答  2019-04-22
编程语言:
void
Chg_Array(int
array[],
int
size,
int
value)
{
int
i;
for(i=0;i<size;i++)
array[i]=value;
}
Chg_Array(M_a,
31,
9)
//将数组
M_a
的31个元素赋值为9.
一维数组不需要二维指针。
相似回答