c语言:一个空数组作为型参,如何在函数中对其赋值?

比如说:我想判断一个某年是否是闰年,并且利用数组返回每个月的天数。
此时就是想知道如何在一个函数中对一个空数组赋值,利用指针,数组,还是malloc,有一点点思路,但不知道该怎么做?求教(比如以下这样:该如何做,并且哪里有问题)
int leap(int year,int *a)
{
a=(int*)malloc(12*sizeof(int)) ;
if(year%4==0&&year%100!=0||year%400==0)
{
a[]={31,29,31,30,31,30,31,31,30,31,30,31};
return 366;
}
else
{
a[]={31,28,31,30,31,30,31,31,30,31,30,31};
return 365;
}
}

数组作为参数是按地址传递的 数组名就是数组的首地址。因此在数组名作函数参数时所进行的传送只是地址的传送, 也就是说把实参数组的首地址赋予形参数组名。形参数组名取得该首地址之后,也就等于有了实在的数组。实际上是形参数组和实参数组为同一数组,共同拥有一段内存空间。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网