为什么在一个函数里调用另一个函数里的数组会失败了,输出的不是要访问的数组而是输出垃圾数?
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
int i;
char b=4;
int abc(void)
{
char *p;
p = (char*)malloc(b);
memset(p, 0, b);
for(i=0;i<4;i++)
{
p[i] = i;
}
for(i = 0; i < b; i++)
{
printf("p[i]=%x\n",p[i]);
}
}
int bcd()
{
char p[b];
for(i=0;i<b;i++)
{
printf("p[i]=%x\n",p[i]);
}
}
int main(void)
{
abc();
bcd();
}