社区
C语言
帖子详情
谁能给我一份函数参数传递的资料?
sunfanet
2004-05-02 09:07:19
自己好象越学越笨了,现在转不过来函数的参数传递这个弯了!
有好心人能给我些资料和讲解吗?
...全文
52
6
打赏
收藏
谁能给我一份函数参数传递的资料?
自己好象越学越笨了,现在转不过来函数的参数传递这个弯了! 有好心人能给我些资料和讲解吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunfanet
2004-05-03
打赏
举报
回复
cngdzhang
在上面提到的是 i 的值的变化 那 n 呢?
来讲解下 这个函数的 参数传递的作用吧!
21stITren
2004-05-03
打赏
举报
回复
n其实只是一个形参,当用不同的参数调用change函数时,这些参数就是n,比如上面的i调用函数时,i就是n.
21stITren
2004-05-02
打赏
举报
回复
To cngdzhang():
void change(int n)这个函数是变量作用域的问题,应该是生成一个临时变量。不然,你说他是按值传递,那他传的是什么呢?总不会是i或他的值吧?
21stITren
2004-05-02
打赏
举报
回复
嘿嘿,我把问题搞复杂一点.......
/////////////////////////////////////////////////////////
.MODEL 是用来指定内存模式的伪指令,在Win32下,只有一种内存模型,那就是FLAT。 STDCALL 告诉编译器参数的传递约定。参数的传递约定是指参数传达时的顺序(从左到右或从右到左)和由谁恢复堆栈指针(调用者或被调用者)。在Win16下有两种约定:C 和 PASCAL。C 约定规定参数传递顺序是从右到左,即最右边的参数最先压栈,由调用者恢复堆栈指针。
例如:为调用函数 foo ( int first_param, int second_param, int third_param ); 按C约定的汇编代码应该是这样的:
push [third_param]
push [second_param]
push [first_param]
call foo
add esp, 3 * 4 ;调用者自己恢复堆栈指针
PASCAL约定和C约定正好相反,它规定参数是从左向右传递,由被调用者恢复堆栈。Win16采用了PASCAL约定, 因为PASCAL约定产生的代码量要小。当不知道参数的个数时,C约定特别有用。如在函数wsprintf () 中, wsprintf预先并不知道要传递几个参数,所以它不知道如何恢复堆栈。STDCALL是C约定和PASCAL约定的混合体,它规定参数的传递是从右到左,恢复堆栈的工作交由被调用者。Win32只用STDCALL约定,但除了一个特例,即:wsprintf。
cngdzhang
2004-05-02
打赏
举报
回复
C语言里面是按值传递的
//传值
int i=10;
void change(int n)
{
n=100;
}
change(i);
i的值还是10,不是100;
//传地址
int i=10;
void change(int *n)
{
*n=100;
}
change(&i);
i的值是100,不是10;
freefalcon
2004-05-02
打赏
举报
回复
现在转不过来函数的参数传递这个弯了?
c里面分传值和传址方式
前者只是传递变量的一个“拷贝”,对参数操作不会影响原来的变量
后者则是把变量的地址交给函数,对参数的操作就是对原变量的操作
什么是
函数
参数传递
?有哪些传递方式?
值传递(Pass by Value): 值传递是指将实际参数的值复制
一份
,然后将复制的值传递给
函数
的形式参数。引用传递(Pass by Reference): 引用传递是指将实际参数的地址传递给
函数
的形式参数,并使用指针进行间接访问...
函数
参数传递
机制
函数
参数传递
机制1
函数
参数传递
机制2 值传递、址传递和引用传递的区别2.1 功能上2.2 传递效率上2.3 执行效率上2.4 类型安全上2.5 参数检查上2.6 灵活性上3
函数
传递该用指针还是引用 1
函数
参数传递
机制
函数
参数...
php
函数
的
参数传递
包括哪些,PHP
函数
参数传递
的四种方式
在调用
函数
时,需要向
函数
传递参数...顾名思义值传递的方式会将实参的值复制
一份
再传递给
函数
的形参,所以在
函数
中操作参数的值并不会对
函数
外的实参造成影响。因此如果不希望
函数
修改实参的值,就可以通过值传递的...
python之
函数
传递,形式参数和实际参数
指的是将实际参数的值复制给形式参数
一份
,由被调用
函数
使用参与被调
函数
的运算,在这个过程中,实际参数的数值不会发生变化,而形式参数从产生、到最后的消失除将实际参数的值复制给形式参数这一个联系外,二者没有...
C语言技巧:怎样把数组作为
参数传递
给
函数
?
在把数组作为
参数传递
给
函数
时,有值传递(by value)和地址传递(by reference)两种方式。在值传递方式中,在说明和定义
函数
时,要在数组参数的尾部加上一对方括号([]),调用
函数
时只需将数组的地址(即数组名)传递给...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章