永发信息网

把结构体定义在主函数内的时候,程序在Vc中执行会很卡,放在外面就很快,为什么?

答案:3  悬赏:10  手机版
解决时间 2021-02-27 16:04
  • 提问者网友:焚苦与心
  • 2021-02-26 15:27
把结构体定义在主函数内的时候,程序在Vc中执行会很卡,放在外面就很快,为什么?
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-02-26 16:09
因为放在函数内部属于局部变量,放在函数外面是全局变量。
进入一个函数调用局部变量需要初始化,如果局部变量是static 的还需出栈入栈。
所以说有时可读性与速度有冲突。不过还是少用全局变量吧,出错了不好找问题。
全部回答
  • 1楼网友:迟山
  • 2021-02-26 17:42
有这回事吗? struct Student { }; int main() { } 和 int main() { struct Stiuent { }; } 这种不会有区别的吧。 应该不会有这种情况的。也有这种情况,你第一次运行VC编好的程序,速度会比较慢;而第二次运行程序的时候,就会比较快。另外,你没把stuct的定义放到一个循环中吧?
  • 2楼网友:思契十里
  • 2021-02-26 16:33

可能要用到typedef

typedef struct pass *   lppass;

typedef struct pass {

....

} pass;

cclef(lppass passdevice,cwnd* pparent =null)

try it.

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯