当前位置: 代码迷 >> WinCE >> 关于结构体指针作为函数参数的有关问题
  详细解决方案

关于结构体指针作为函数参数的有关问题

热度:121   发布时间:2016-04-28 11:54:58.0
关于结构体指针作为函数参数的问题
如题,结构体指针作为函数参数时,结构体指针指向的必须是全局或者是static的吗?为什么定义的局部结构体变量,在进行参数传递的时候会错呢?然后定义成static就没有问题,费解啊!
dp_mian.h

typedef struct RXPKG_STRUCT
{
U8 recvbuf[MAX_RECV_BUFLEN];
U16 recvcnt; 
}RXPKGINFO;

dp_main.c


extern bool DPEntry(RXPKGINFO *rxinfo);
void main(void)
{
RXPKGINFO reinfo;
RXPKGINFO *reinfoptr;

   reinfoptr = &reinfo;
   while(1)
   {
   num = fread(re_buffer, 1, 1024, rs485_dev);
   printf("num = %d\n", num);

   if(num > 0 )
{
reinfoptr->recvcnt = num;
for(int i=0; i<num; i++)
{
reinfoptr->recvbuf[i] = re_buffer[i];
printf(" 0x%x",re_buffer[i]);
}
DPEntry(reinfoptr);
 
}
}

bool DPEntry(RXPKGINFO *rxinfo)

int i;

for(i=0; i<rxinfo->recvcnt; i++)
{
printf("rxinfo->recvbuf[%d] = 0x%x\n",i,rxinfo->recvbuf[i]);
}
}
------解决思路----------------------
出什么错误?堆栈出错?
  相关解决方案