赋值"/>
【C语言皮一下】对数组进行整体赋值
对数组整体赋值
【数组不能整体赋值!!!】老师的拳拳教诲依旧回荡耳畔(๑òᆺó๑)(噗,有点不对劲)
aaaaa那到底能不能整体赋值呢,当然还是有办法的啦~
具体实现
首先整理一下实现思路:写一个函数,传入目标数组和所需要赋的各个值,实现将所有值存进数组中。
那么问题就在于数组的长度不确定,所要传入的参数个数也不确定。
这时候可变参数就派上用场了!!
详细可以看看这篇:printf是如何实现可变参数的?自定义函数能否实现参数可变?【C语言】
[ 了解可变参数后就直接开始咯 ]
实现过程:第一个参数设置为数组,通过sizeof获取数组长度,按照该长度使用循环将各个参数的值赋给数组
下面挂上代码(以整型数组为例,其他数组同理)
//给整型数组整体赋值
void setArray(int arr[], ...)
{int length = sizeof(arr); //获取该数组的长度va_list val;va_start(val, arr);for (int i = 0; i < length; i++){arr[i] = va_arg(val, int); //给每个元素赋值}va_end(val);
}
思路简单清晰不难理解,使用也挺方便,可以当做工具函数用上。
用法:setArray( 数组名 ,参数1,参数2 …)
盾来弯矛刺,石立曲水激(寒冰小澈)
更多推荐
【C语言皮一下】对数组进行整体赋值
发布评论