首页 > 解决方案 > 如果变量重复并声明一次,将其从方法中取出是一个好习惯吗?(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)
}

标签: cfile-ioglobal-variableslocal-variables

解决方案


一般来说,建议在需要的范围内声明一个变量。在你的情况下,一个函数。在您的示例中拥有一个副本可能会节省内存,但它可能会产生意想不到的副作用。例如,当你退出函数时,指针仍然指向一个不再相关的内存。


推荐阅读