对数组整体赋值
【数组不能整体赋值!!!】老师的拳拳教诲依旧回荡耳畔(๑òᆺó๑)(噗,有点不对劲)
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语言中实现对数组的整体赋值,虽然数组不能直接整体赋值,但通过自定义函数和可变参数,可以实现这一功能。文章介绍了具体的实现思路和过程,并提供了整型数组的示例代码,该方法可以作为工具函数方便地应用于其他数组类型。
8281

被折叠的 条评论
为什么被折叠?



