新人想请教一个C语言里关于数组作为形式参数的问题

我的目的是想做一个判断一个数组里有几个负数的函数,按我的想法是这样的:

int isNegative(double *C_Z)
 {
    int i;
    int index=0;
    for(i=0;i<7;i++)
    {
        if(C_Z<0)
        {
            index++;
        }
     }
     return index;
 }

上面的函数定义和main函数都放在一个cpp文件里。然后主函数里是这样的:

double arr11[7]={1,1,-1,-2,-3,0,1};
result=isNegative(arr11);
printf("result is :%d",result);

最后并没有得到-3这个正确的值,输出结果是result is 0。请问是大家哪里出现错误了呢?

函数的判断部分

int isNegative(double *C_Z)
 {
    int i;
    int index=0;
    for(i=0;i<7;i++)
    {
        if(C_Z[i]<0)  //修改
        {
            index++;
        }
     }
     return index;
 }

由于函数isNegative中参数定义为一个指向doule变量的指针,
“C_Z"表示的指针地址的值,这个值是不可能小于0的,所以不管传递进去的数组是什么,
结果永远为0。
可将 if(C_Z < 0) 改为 if(*C_Z < 0)

另,就函数的写法来说的话,由于这个函数的处理对象为数组,直接传递数组及大小更合适,
指针的话在使用中容易出现越界等问题。以下供参考。。。

int isNegative(double[] array, int size)
{
int i;
int index=0;
for(i = 0;i < size;i++)
{
if(array[i] < 0)
{
index++;
}
}
return index;
}