c - 如果变量重复并声明一次,将其从方法中取出是一个好习惯吗?(C 语言)
问题描述
我想知道我是否有一个变量在不同的方法中用于相同的目的,我应该声明一次变量并在不同的方法或每个方法中使用它吗?我正在用 C 编程,目前正在做文件管理器。
例子:
FILE *fp
void deleteLine(){
fp = fopen("name.txt", "w+");
...
fclose(fp);
}
void insertLine(){
fp = fopen("name2.txt", "w+");
..
fclose(fp)
}
或者
例子:
void deleteLine(){
FILE *fp
fp = fopen("name.txt", "w+");
...
fclose(fp);
}
void insertLine(){
FILE *fp
fp = fopen("name2.txt", "w+");
..
fclose(fp)
}
解决方案
一般来说,建议在需要的范围内声明一个变量。在你的情况下,一个函数。在您的示例中拥有一个副本可能会节省内存,但它可能会产生意想不到的副作用。例如,当你退出函数时,指针仍然指向一个不再相关的内存。
推荐阅读
- ruby - 如何编写具有多种可能结果的场景
- azure - Azure Function 无法加载 ApplicationInsights 程序集
- asp.net - 将旧的 ASP url 重定向到新的 Wordpress 页面
- python - 无法使用 XPath 从网页获取价格
- python - 为什么调整模态 Qt 对话框的大小使其不再停留在 ctwm 窗口管理器中其父级的顶部?
- python - 使用 lambda 调用带有参数但传递索引而不是项的函数
- google-apps-script - 如何将 drive.file 范围用于独立的谷歌应用程序脚本
- linux - 当我在 Windows 中编辑代码但在 Linux 中构建和运行代码时如何使用 git 进行版本控制(使用 pycharm)
- python - 为什么 numpy.cumsum 的最后一个条目不一定等于 numpy.sum
- python - [tensorflow]如何通过子类化模型类(tf.keras.Model)来包装一系列代码