注册 登录
编程论坛 Ubuntu

关于C语言中printf()的简单实现,不用va_list

天霁 发布于 2017-10-19 23:50, 2823 次点击
按照我的理解,假设printf实际输入的参数有4个,printf(char* format,arg1,arg2,arg3,arg4);

这些参数在内存中从低地址到高地址依次为format,arg1,arg2,arg3,arg4。

因为format是指针,所以所占的字节大小为一个int的大小。

所以如果我们找到format的储存地址,从format首地址开始,加上一个int的大小,此时地址刚好就是参数arg1的首地址,然后再加上sizeof(arg1),此时地址又刚好是arg2的首地址,这样我们就能依次找出参数所在地址。
  可我写的初步程序运行的时候结果与期望不同呢?,哪位老哥看看呗
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
1 回复
#2
slbos2021-03-24 09:29
传入的函数形参地址会连续吗?
1