把结构体定义在主函数内的时候,程序在Vc中执行会很卡,放在外面就很快,为什么?
答案:3 悬赏:10 手机版
解决时间 2021-02-27 16:04
- 提问者网友:焚苦与心
- 2021-02-26 15:27
把结构体定义在主函数内的时候,程序在Vc中执行会很卡,放在外面就很快,为什么?
最佳答案
- 五星知识达人网友:一叶十三刺
- 2021-02-26 16:09
因为放在函数内部属于局部变量,放在函数外面是全局变量。
进入一个函数调用局部变量需要初始化,如果局部变量是static 的还需出栈入栈。
所以说有时可读性与速度有冲突。不过还是少用全局变量吧,出错了不好找问题。
进入一个函数调用局部变量需要初始化,如果局部变量是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.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯