VB中如何将数组作为参数传递?
如果在一个窗体中定义了一个数组,并赋值,然后想在另一个窗体中调用该数组,怎么办。当我试图在第一个窗体中用public数组名()aslong来声明公用数组,以便在其他窗体中...
如果在一个窗体中定义了一个数组,并赋值,然后想在另一个窗体中调用该数组,怎么办。
当我试图在第一个窗体中用public 数组名()as long来声明公用数组,以便在其他窗体中调用时,会提示错误,这该如何办。
我现在的目的就是想把整个数组从一个窗体传递到另一个窗体,请帮忙详细解答。
如果用模块,是否可以这样写:
public sub define_array()
public an_array() as long
end sub
然后在form1中:
call define_array()
redim an_array(5)
赋值
接着在form2中,直接取用an_array的值。
这样做有问题,请指教应该怎样做。 展开
当我试图在第一个窗体中用public 数组名()as long来声明公用数组,以便在其他窗体中调用时,会提示错误,这该如何办。
我现在的目的就是想把整个数组从一个窗体传递到另一个窗体,请帮忙详细解答。
如果用模块,是否可以这样写:
public sub define_array()
public an_array() as long
end sub
然后在form1中:
call define_array()
redim an_array(5)
赋值
接着在form2中,直接取用an_array的值。
这样做有问题,请指教应该怎样做。 展开
展开全部
简单的给你说一句吧!
public 数组名()as long是你的定义 这句是对的,但你放错位置了 不是放窗体中,而是新建模块,放模块中.这样全局有效!
你前半句说的是错的,后面也是错的.
public sub define_array() '这里是模块(过程)的头,这句是对的 public 可要可不要.
public an_array() as long '在sub()...end sub中不能使用public来什么变量,直接用dim.
end sub
关于使用过程:call define_array() '过程名后面不能跟括号,除非里面传有参数 直接call define_array 或 define_array
redim an_array(5) '这句是对的 对动态数组分配空间
public 数组名()as long是你的定义 这句是对的,但你放错位置了 不是放窗体中,而是新建模块,放模块中.这样全局有效!
你前半句说的是错的,后面也是错的.
public sub define_array() '这里是模块(过程)的头,这句是对的 public 可要可不要.
public an_array() as long '在sub()...end sub中不能使用public来什么变量,直接用dim.
end sub
关于使用过程:call define_array() '过程名后面不能跟括号,除非里面传有参数 直接call define_array 或 define_array
redim an_array(5) '这句是对的 对动态数组分配空间
展开全部
#include "stdio.h"
void max(int a[]){
int i;
int max;
max=a[0];
for(i=1;i<30;i++){
if(max<a[i])
max=a[i];
}
printf("the max is:%d\n",max);
}
main(){
int a[30];
int i;
for(i=0;i<30;i++){
a[i]=i;
}
max(a);
}
数组作为参数,传递的是数组的首地址,然后方法接收,通过地址的增加访问数组的值
void max(int a[]){
int i;
int max;
max=a[0];
for(i=1;i<30;i++){
if(max<a[i])
max=a[i];
}
printf("the max is:%d\n",max);
}
main(){
int a[30];
int i;
for(i=0;i<30;i++){
a[i]=i;
}
max(a);
}
数组作为参数,传递的是数组的首地址,然后方法接收,通过地址的增加访问数组的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以不用在窗体中定义的,你可以试着在模块中定义,那么整个工程中的任何调用都是可以的。
你的模块学了没?
以上就是详细的解释过程!
你的模块学了没?
以上就是详细的解释过程!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include
"stdio.h"
void
max(int
a[]){
int
i;
int
max;
max=a[0];
for(i=1;i<30;i++){
if(max<a[i])
max=a[i];
}
printf("the
max
is:%d\n",max);
}
main(){
int
a[30];
int
i;
for(i=0;i<30;i++){
a[i]=i;
}
max(a);
}
数组作为参数,传递的是数组的首地址,然后方法接收,通过地址的增加访问数组的值
"stdio.h"
void
max(int
a[]){
int
i;
int
max;
max=a[0];
for(i=1;i<30;i++){
if(max<a[i])
max=a[i];
}
printf("the
max
is:%d\n",max);
}
main(){
int
a[30];
int
i;
for(i=0;i<30;i++){
a[i]=i;
}
max(a);
}
数组作为参数,传递的是数组的首地址,然后方法接收,通过地址的增加访问数组的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看一下你的调用格式.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询