C++에서 지역 변수와 전역 변수의 차이점: 가시성: 지역 변수는 정의된 함수로 제한되는 반면 전역 변수는 프로그램 전체에서 볼 수 있습니다. 메모리 할당: 로컬 변수는 스택에 할당되고, 글로벌 변수는 글로벌 데이터 영역에 할당됩니다. 범위: 지역 변수는 함수 내에 있고 전역 변수는 프로그램 전체에 있습니다. 초기화: 지역 변수는 함수가 호출될 때 초기화되고, 전역 변수는 프로그램이 시작될 때 초기화됩니다. 레크리에이션: 지역 변수는 함수 호출 시마다 다시 생성되는 반면, 전역 변수는 프로그램이 시작될 때만 생성됩니다.
C++에서는 로컬 변수와 전역 변수 사이에 중요한 차이점이 있으며 이러한 차이점을 이해하는 것은 효율적이고 유지 관리 가능한 코드를 작성하는 데 중요합니다.
샘플 코드:
void myFunction() { int localVariable = 5; // 局部变量 // ... 使用 localVariable } int main() { myFunction(); // localVariable 无法访问,因为它不在 main() 函数的范围内 }
샘플 코드:
int globalVariable = 10; // 全局变量 void myFunction() { // ... 使用 globalVariable } int main() { // ... 使用 globalVariable }
Features | 로컬 변수 | 전역 변수 |
---|---|---|
가시성 | 정의된 기능으로 제한됩니다 | 전체 프로그램 |
라이프 사이클 | 함수 호출 중 | 프로그램 실행 중 |
메모리 할당 | 스택 | 전역 데이터 영역 |
Scope | 함수 내 | 전체 프로그램 내 |
초기화됨 | 함수가 호출될 때 | 프로그램이 시작될 때 |
Recreate | 함수가 호출될 때마다 | 프로그램이 시작될 때만 |
다음 예에서 지역 변수 name
은 greet()
함수 내에서만 사용되며 함수가 호출될 때마다 다시 생성됩니다. name
仅在 greet()
函数内使用,并且在每次函数被调用时都重新创建:
void greet(std::string name) { std::cout << "Hello, " << name << "!" << std::endl; } int main() { greet("John"); greet("Mary"); // 局部变量 name 将重新创建 }
在以下示例中,全局变量 g_count
int g_count = 0; // 全局变量 void incrementCount() { g_count++; } int main() { incrementCount(); std::cout << "Count: " << g_count << std::endl; // 输出 1 incrementCount(); std::cout << "Count: " << g_count << std::endl; // 输出 2 }
g_count
는 프로그램 전체에서 볼 수 있으며 함수가 호출될 때마다 업데이트됩니다. 🎜rrreee위 내용은 C++ 함수의 지역 변수와 전역 변수의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!