声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2556|回复: 3

[LabView] 求救:如何实现二维数组的指针形式调用(cvi)

[复制链接]
发表于 2007-1-24 21:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
想要用指针实现二维数组的动态定义,但如程序所示,如果直接定义成ComplexNum co[3][3];则可以在函数参数传递时直接输入数组名co。但如果定义成ComplexNum **p,则在函数参数传递时会提示出错:FATAL RUN-TIME ERROR:   "test.c", line 52, col 14, thread id 0x00000DEC:   Array argument too small (12 bytes).  Argument must contain at least 144 bytes (144 elements).
似乎是系统运行时不认可p是一个二维数组,只认为是一维的。

#include <analysis.h>
#include <ansi_c.h>
#include <userint.h>
#include <formatio.h>

main()
{
   ComplexNum y[3][3];
   ComplexNum co[3][3];
   ComplexNum **p;  
   int i=0,j=0;
   int n=3;

   p=(ComplexNum**)malloc(3*sizeof(ComplexNum*));  
   for(i=0;i<3;i++)
     p=(ComplexNum*)malloc(3*sizeof(ComplexNum ));
   
  /*下面是对二维数组co和p的赋值**/
   for(i=0;i<n;i++)
       { for(j=0;j<n;j++)
                         if(i<j)
                         p[j].imaginary=(-1)*((i*n)+j+1);
                         else
              p[j].imaginary=(i*n)+j+1;  
       }
   
    for(i=0;i<n;i++)
       { for(j=0;j<n;j++)
              p[j].real=(i*n)+j+1;
              
       }
      
    for(i=0;i<n;i++)
       { for(j=0;j<n;j++)
                         if(i<j)
                         co[j].imaginary=(-1)*((i*n)+j+1);
                         else
              co[j].imaginary=(i*n)+j+1;
       }
      
     for(i=0;i<n;i++)
       { for(j=0;j<n;j++)
             co[j].real=(i*n)+j+1;
              
       }  

/*调用函数对二维数组实现共轭转置*/
CxTranspose(co,3,3,y);//这样传递参数可以
CxTranspose(p,3,3,y); //wrong! 提示: Array argument too small (12 bytes)
                                 //Argument must contain at least 144 bytes (144 elements).          
  NULL;
}

评分

1

查看全部评分

回复
分享到:

使用道具 举报

 楼主| 发表于 2007-1-24 21:31 | 显示全部楼层
渴望得到高人指点!:@)
 楼主| 发表于 2007-1-25 19:29 | 显示全部楼层
拜托啊
没人吗?:'(
发表于 2007-3-20 10:27 | 显示全部楼层
关注啊
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 19:37 , Processed in 0.053155 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表