易码技术论坛

 找回密码
 加入易码
搜索
查看: 364857|回复: 21

[求助]lava中怎样以数组作为函数参数

[复制链接]
发表于 2005-12-9 16:54:00 | 显示全部楼层
LavaX可以用引用来传参
发表于 2005-12-9 19:25:00 | 显示全部楼层
就是例如

void fun(int &code)

在变量前加上&,就可在使用时将参数直接引用了
 楼主| 发表于 2005-12-9 21:53:00 | 显示全部楼层
能不能举个例子哈?比如传一个字符串!


发表于 2005-12-19 13:25:00 | 显示全部楼层
还有一个方法,与局部数组初始化一个道理,但是因机型而异,要用LavaXIde3.1外的编译方法,用LavaXIde3.1是无法实现的,先就说这些。

回楼上:

用的是传地址方式。

char string[12]="how are you";

int num;

void function(char &thestring[],char &thenum){

printf("%s\n%d",thestring,thenum);

}

void main(){

function(string,&num);

}

局部变量一样。

发表于 2005-12-21 12:52:00 | 显示全部楼层
假若有这样一个函数void fun(int str),它将对str所指的字符数组中的每一个字符进行分析。

主调函数将字符数组str[10]传送给fun函数,那么怎样在fun函数的程序代码中表示str[1],str[2],str[3]...呢?此时fun代码中的str[1],str[2]等表示法并不被lavaX1.0编译器承认。

并希望回复者能简单举例。谢谢!
发表于 2005-12-21 13:24:00 | 显示全部楼层
用LavaXIde3.1版,支持引用,字符串的引用可做参数传递。
发表于 2005-12-21 20:24:00 | 显示全部楼层
char string[12]="how are you";

int num;


如果要把 string[12]="how are you";

传给 num 呢???怎样实现?
发表于 2005-12-22 10:28:00 | 显示全部楼层
字符串不能与整数互相赋值,这是常识!
发表于 2005-12-22 14:50:00 | 显示全部楼层
int num;


打错了

如果是  char num;  呢?
发表于 2005-12-22 17:28:00 | 显示全部楼层
字符串也不能与字符互相赋值,这是常识!

注意:字符属于整数的一种。

字符串是字符组成的数组,所以不能整体赋值给任何类型的变量,只能用copy函数复制。
发表于 2005-12-23 17:37:00 | 显示全部楼层
这样也可以实现呀

char a[]="how are you";

char b[20];

void main(){

sprintf(b,"%s",a);

TextOut(1,1,b,0x81);

Refresh();

}
发表于 2005-12-23 17:47:00 | 显示全部楼层
你这里如果是char b就是字符,如果是char b[20]就是字符串。懂了么?
发表于 2005-12-23 18:02:00 | 显示全部楼层
如果是多个字符串,用struct xxx  怎样fopen保存在创建的文件里 ???
发表于 2006-1-15 17:58:00 | 显示全部楼层
学到了[em02][em02]
发表于 2006-1-26 22:42:00 | 显示全部楼层
直接传送数组名就可以把,其实传递的是一个地址

这个例子和函数的参数是一样的:

在lava和c中通过

比如

char aa[7]={"hello"};   
int cc()
{return aa;
}

int main()
{
  printf("%s",cc());
  getchar();
  return 0;
}
发表于 2006-4-28 16:25:00 | 显示全部楼层
如果把这个数组直接宏定义呢?不就不用传了吗?
发表于 2006-5-3 09:07:00 | 显示全部楼层
请问&是什么意思

发表于 2006-5-4 11:52:00 | 显示全部楼层
&是传引用,或者是求地址的意思。

其实就是把变量的真身找出来^_^
发表于 2006-5-4 17:05:00 | 显示全部楼层
什么是宏定义?
发表于 2006-5-4 20:52:00 | 显示全部楼层
宏定义……某种意义上就是字符的替换。

比如
#define a b

就是把所有写a的地方原封不动的变成b

然后编译器继续进行编译……
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-5-14 01:38 , Processed in 0.010737 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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