指针被莫名其妙的修改了!!求助啊!!
大家好。。我有一个程序。。框架如下:
int B(int *p)
{
// 调用一个库函数
库函数XXX(p);
}
int A(int * p)
{
char * ptr = (char*) malloc(20);
B(p);
}
现在的问题是,单在A函数中调用B函数后,指针ptr会被修改,使得它指向了别的一块内存区域。。。这样我程序中访问的时候。。。就会给出段错误。
请问为什么指针ptr会被修改的。。。函数B中并没有用到ptr指针啊。。。? 费解
更奇怪的是,指针p也会被修改。。。我在B函数中是改变了p指针所指向的区域的内容。。并没有改变p指针本身啊。。没有让它指向别的区域。。。
调试好久了。。。头疼啊。。。大家帮帮忙啊。。。
对了。。。AIX平台上。。什么调试工具还用啊。。DBX不会用啊。。。