全局变量问题
我建了两个from,
我在From1,中定义了一个全局变量指针,当From2需要时,把这个指针传到From2,用完之后,我回到了From1中,怎么这个全局变量指针怎么会指向NULL了呢??
例如:
UFDLink p;
void TForm1::SaveUFD(UFDLink &p)
{
strcpy(p-> FileName, "12324 ");
//TODO: Add your source code here
}
void __fastcall TForm2::okbuttonClick(TObject *Sender)
{
Form1-> SaveUFD(p);
}
起先我点了okbuttonCilick,这时p在这里还是有地址的,当进入之后,进入了Form1-> SaveUFD(p),回到了From1,怎么这时这个p指向了NULL了呢
[解决办法]
UFDLink怎么定义的?
[解决办法]
如果只有这两句代码的话,并没有看到什么时候给p赋值。
[解决办法]
1: void TForm1::SaveUFD(UFDLink &p)
2: {
3: strcpy(p-> FileName, "12324 ");
4: //TODO: Add your source code here
5: }
断点在1可能P未定义
断点在2P不应该为NULL.
[解决办法]
另P的地址与P指向的地址是两回事。
typedef struct
{
char *FileName;//or char FileName[MAX_PATH+1];
} *UFDLink;
如果定义是这样,那你的P就是非法使用指针!