为什么C栈中,主函数printf的l.top和l.base中的地址值不一样

#include<stdio.h>
#include<stdlib.h>
#define Max 100
typedef int number;
typedef struct{
number *top;
number base;
int stacksize;
}sqstack;
int initstack(sqstack s){
s.base=(number
)malloc(sizeof(number)*Max);
if(!s.base) printf("error");
else printf("success");
s.top=s.base;
s.stacksize=Max;
}
int stackempty(sqstack s){
if(s.top==s.base)
printf("\nempty");
else printf("\nnot empty");
}
int main()
{
sqstack l;
initstack(l);
printf("%d %d",l.top,l.base);
stackempty(l);
}

具体输出的是什麽,截图看看