函数参数的计算次序是依赖编译器实现的,那么函数参数的入栈次序是如何确定的呢?
1.函数参数的入栈次序
调用约定:
(1)当函数调用发生时
-参数会传递给被调用的函数,而返回值会被返回给函数调用者
(2)调用约定描述参数如何传递到栈中以及栈的维护方式
-参数传递顺序
-调用栈清理
调用约定是预定义的,可理解为调用协议。
调用约定通常用于库调用和库开发的时候
一从右到左依次入栈:_stdcall ,__cdecl ,__thiscall(默认)
一从左到右依次入栈︰__pascal ,__fastcall
计算n个数的平均值
#include <stdio.h>
float average(int array[], int size)
{
int i = 0;
float avr = 0;
for(i=0;