关于函数里面数据存储问题,请前辈不吝赐教
#include<stdio.h>#define SIZE 4
int main(void)
{
//short dates[SIZE];
double bills[SIZE];
short dates[SIZE];
short *pti;
short index;
//double bills[SIZE];
double *ptf;
pti=dates;
ptf=bills;
printf("%23s %10s\n","short","double");
for(index=0;index<SIZE;index++)
printf("pointers+%d: %10p %10p\n",index,pti+index,ptf+index);
return 0;
}
运行结果:
short double
pointers+0: 0012FF20 0012FF28
pointers+1: 0012FF22 0012FF30
pointers+2: 0012FF24 0012FF38
pointers+3: 0012FF26 0012FF40
然后把函数里面的两个数组顺序变一下:
double bills[SIZE];
short dates[SIZE];
变为:
short dates[SIZE];
double bills[SIZE];
然后输出结果变为:
short double
pointers+0: 0012FF40 0012FF20
pointers+1: 0012FF42 0012FF28
pointers+2: 0012FF44 0012FF30
pointers+3: 0012FF46 0012FF38
小弟想请问一下各位前辈,关于函数里面的变量和数据是怎么存储的,不是按照栈(后进先出)的顺序吗?最先进去的不是在最底层的吗?请各位高手不吝赐教,小弟感激不尽。。