调用package:里面的一个函数fuction,fuction的参数是集合类型的(TABLE OF NUMBER INDEX BY PLS_INTEGER)
在PRO*C程序中我该怎么把参数传进去。
我用了一个方法定义一个数组int a[3]={1,2,3}调用的时候是这样的:
package.fuction(:a);
这样是可以的,但是有个问题,我想让数组的长度是根据不通情况不同的。
比如说有可能是4,或者更多个。该怎么实现呢?

解决方案 »

  1.   

    这样是可以的,但是有个问题,我想让数组的长度是根据不通情况不同的。
    比如说有可能是4,或者更多个。该怎么实现呢?//变长数组 google了下
    void Assign(char ** p,char* str)
    {
    if(*p) free(*p);*p = (char*)malloc((strlen(str)+1)*sizeof(char));
    strcpy(*p,str);}void main(){
    char * StrArr[100]; // 100个字符串数组
    int i;
    for(i=0;i<100;i++)
    {
        StrArr[i]=NULL;
    }
    Assign(&StrArr[0],"hello,world!");for(i=0;i<100;i++)
    {
        if(StrArr[i]) free(StrArr[i]);
    }}