C脚本里,未知大小的数组作为形参的子函数应该怎么写?

void QuHang(float  A[][],int i,int E,int F,float Uout[][] )
{
     int m,n;
     float **array;
     array=(float**)malloc(E*sizeof(float*)); //Return-Type: void* 
     for(m=1;m<=E;m++)
    {
      array[m-1]=(float*)malloc(F*sizeof(float*));
       for (n=1;n<=F;n++)
        {  
         array[m-1][n-1]=A[m-1][n-1];
        }
      }
    if ((1<=i)&&(i<=E))
       {
       for(m=1;m<=F;m++)
       Uout[0][m-1]=array[i-1][m-1];
        }
       for(m=1;m<=E;m++)
    {   free(array[m-1]);
     }
     free(array);
  
}
这是一个这是用未知大小数组作为形参的一个子函数,实现功能:取出A[E][F]矩阵的第i 行赋给Uout[1][F]矩阵;也就是说A 矩阵和 Tout 矩阵的列数是一样的。
其中形参E 和F 分别是A[][]矩阵的行与列,也可以在主函数中通过函数调用的实参传递给子函数。
这段程序在Wincc脚本里编译是正确的,但是在VC里用一个主函数调用它却运行出错了。求高手看一下这段程序是否正确,若不正确应该怎么改,谢谢!!

最佳答案

感觉这些数据在WINCC里面处理不如在PLC里面处理好些
可以直接用指针循环传递两个DB块之间的数据就行了
就像采样程序或者蒸汽补偿一样
在PLC里面做的好处就是,不论你电脑怎么换,或者多台电脑,只要调用DB块里面的数据就好了。即使电脑死机了也不会影响数据的计算。

提问者对于答案的评价:
好吧,虽然答案不是我需要的,与其关闭掉问题还不如把分数送给你。谢谢啦

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc268014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午5:43
下一篇 2019年6月11日 上午5:43

相关推荐