首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

全局变量有关问题

2012-03-09 
全局变量问题我建了两个from,我在From1,中定义了一个全局变量指针,当From2需要时,把这个指针传到From2,用

全局变量问题
我建了两个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就是非法使用指针!

热点排行