iCAx开思工具箱
标题:
ug函数参数传递问题。
[打印本页]
作者:
xskun
时间:
2004-3-20 16:10
标题:
ug函数参数传递问题。
以下几个函数的参数,object_id究竟如何传递才正确?
一、tag_t UG_func1(void); //函数原型
tag_t object_id; //变量定义 object_id为输出变量
.........
object_id=UG_func(); //函数调用
二、 UG_func2(...,tag_t *object_id); //函数原型
tag_t object_id; //参变量定义 object_id为输入变量
.........
UG_func(...[$object_id)] //函数调用
函数一输出的object_id,可否为函数二的输入,如果不行,怎么改?(函数原型不能变)
三、 UG_func3(...,tag_t **object_id); //函数原型
tag_t *object_id; //参变量定义 object_id为输出变量
.........
UG_func(...[$object_id)] //函数调用
函数二不变,函数一换为函数三呢?
谢谢!
作者:
pinkwall
时间:
2004-3-21 03:16
看的我都暈了~~~
作者:
mazhiguo
时间:
2004-3-21 19:36
楼主:
你只是部分程序,大家可能一时很难明白你真正的意图。
我这样想得:
1.你把定义函数1的返回值时赋值给第一次申明的变量object_id,object_id
是全局变量还是局部变量,我自己认为应该是全局变量的。
2.全局变量的话,在函数2应用时,无需重新定义,在函数内部时,重新定义的相同名字的变量与全局变量不相关的!
3.至于函数3对它的调用也是如此了!
可能有不对之处,相互交流、相互学习吧!
作者:
goodluckwu
时间:
2004-3-22 11:07
[quote][b]xskun wrote:[/b]
以下几个函数的参数,object_id究竟如何传递才正确?
一、tag_t UG_func1(void); //函数原型
tag_t object_id; //变量定义 object_id为输出变量
.........
object_id=UG_func(); //函数调用
二、 UG_func2(...,tag_t *object_id); //函数原型
tag_t object_id; //参变量定义 object_id为输入变量
.........
UG_func(...[$object_id)] //函数调用
函数一输出的object_id,可否为函数二的输入,如果不行,怎么改?(函数原型不能变)
三、 UG_func3(...,tag_t **object_id); //函数原型
tag_t *object_id; //参变量定义 object_id为输出变量
.........
UG_func(...[$object_id)] //函数调用
函数二不变,函数一换为函数三呢?
谢谢! [/quote]
不是很明白楼主的意思,我想楼主是不是可以这么调用:
{
tag_t obj;
...
obj=UG_func1();
UG_func2(..., [$obj)]
}
另外,我想提醒楼主(可能不必要),UG中tag_t就是一个unsinged int, 因此
tag_t a = ...
tag_t b=a;
则b就有了和a同样的身份。
如果你想不明白应该怎么调用,就把它想象成int , 只要能够正确的传回他的值就应该问题不大。
以上是自己的理解,如有偏颇,各位高手不吝赐教阿。
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3