C++ Primer 노트 - 선언 및 정의
1728 단어 Prim
C++ 프로그램은 보통 많은 파일로 구성되어 있습니다.... 을 위하여
여러 개의 파일이 같은 변수에 접근합니다. C++는 성명과 정의를 구분합니다.변수의 정의는 변수에 저장 공간을 분배하는 데 사용되며, 변수에 초기 값을 지정할 수도 있다.같은 거리에 있다
, 。
프로그램에 변수의 종류와 이름을 표시하는 데 사용됩니다.정의도 성명입니다. 변수를 정의할 때 종류와 이름을 설명합니다.extern 키워드를 사용하여 변수 이름을 정의하지 않고 설명할 수 있습니다.변수를 정의하지 않은 성명은 대상 이름, 대상 유형, 대상 유형 앞의 키워드 extern을 포함합니다.
extern int i; // declares but does not define i
int i; // declares and defines i
extern 성명은 정의가 아니며 저장 공간도 분배되지 않습니다.사실상, 그것은 변수가 프로그램의 다른 곳에 정의되어 있다는 것을 설명할 뿐이다.프로그램에서 변수는 여러 번 설명할 수 있지만 한 번만 정의할 수 있습니다.
성명도 정의일 때만 성명을 초기화할 수 있습니다. 정의만 저장 공간을 분배하기 때문입니다.초기화식은 반드시 저장 공간이 있어야 초기화할 수 있다.만약 성명에 초기화식이 있다면, 이것은 정의로 간주될 수 있습니다. 설령 성명이 extern:
extern double pi = 3.1416; // definition
extern을 사용했지만, 이 문장은 pi를 정의하여 저장 공간을 분배하고 초기화했습니다.extern이 함수 외부에 있을 때만 초기화식을 포함할 수 있습니다.
초기화된 extern 선언은 정의로 간주되기 때문에 변수의 다음 정의는 모두 잘못된 것입니다.
extern double pi = 3.1416; // definition
double pi; // error: redefinition of pi
마찬가지로 초기화된 extern 선언이 포함된 다음 선언도 잘못되었습니다.
extern double pi = 3.1416; // definition
extern double pi; // ok: declaration not definition
extern double pi = 3.1416; // error: redefinition of pi
, 。
C++ 언어에서 변수는 한 번만 정의할 수 있어야 하며, 변수를 사용하기 전에 변수를 정의하거나 성명해야 한다.
여러 파일에 사용되는 변수는 정의와 분리된 성명이 필요합니다.이 경우 한 파일은 변수의 정의를 포함하고, 이 변수를 사용하는 다른 파일은 변수의 정의를 포함한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【C언어학습】 제7장 C제어문구: 분기와 점프학습 총결산 1. if...else...의미적으로 보면 용도가 나온다. 다른 언어와 별로 차이가 없다. 단지 기억하기만 하면 세계에서 가장 먼 거리 중 하나: 나는 if를 가고 너는 lse를 간다. 2. 개인의 몇 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.