extern 키워드는 무엇을 의미합니까?
무엇을 않는 extern
의미하는 키워드? 나는 함수 선언 앞에서 다음과 같은 것을 보았다.
extern void DoFoo ...
extern
이름을 외부 링크 제공합니다 . 즉, 프로그램의 다른 번역 단위에서이 이름을 통해 개체 또는 함수에 액세스 할 수 있습니다. 함수의 경우 이것은 어떤 경우에도 기본 연결이므로 사용 (이 컨텍스트에서)은 일반적으로 중복됩니다.
extern 키워드는 변수 또는 함수를 선언하고 외부 연결이 있음을 지정합니다 (해당 이름은 정의 된 파일이 아닌 다른 파일에서 볼 수 있음). 변수를 수정할 때 extern은 변수가 정적 기간을 갖도록 지정합니다 (프로그램 시작시 할당되고 프로그램 종료시 할당 해제 됨). 변수 또는 함수는 다른 소스 파일 또는 나중에 동일한 파일에 정의 될 수 있습니다. 파일 범위의 변수 및 함수 선언은 기본적으로 외부입니다.
초보자를 위해
처음에는 " extern 키워드가 변수 또는 함수를 선언하고 외부 연결이 있음을 지정합니다 " 라는 사실을 알고 혼란 스러웠습니다 . "@Romain Hippeau.
이제 extern 키워드를 통해 다른 클래스와 변수를 공유 할 수 있음을 이해했습니다.
예 : Notification.h
#import <Foundation/Foundation.h>
extern const NSString* notificationConstant;
Notification.m
#import "Notification.h"
const NSString* notificationConstant = @"NotificationConstant";
다른 클래스에서 notification.h를 가져 오면 NotificationConstant 문자열의 값을 읽을 수 있습니다.
extern 키워드가 없으면 For Notification 상수는 다음 오류를 생성합니다.
참조 URL : https://stackoverflow.com/questions/2753962/what-does-the-extern-keyword-mean
'Nice programing' 카테고리의 다른 글
Android 빌드 gradle이 너무 느림 (종속성 해결) (0) | 2020.12.30 |
---|---|
모듈이 모의 해제되었을 때 Jest에서 가져온 명명 된 함수를 모의하는 방법 (0) | 2020.12.30 |
jQuery-UI 버전은 어떻게 얻습니까? (0) | 2020.12.30 |
Jinja 변수의 범위가 내부 블록을 넘어 확장 될 수 있습니까? (0) | 2020.12.30 |
facebook Uncaught OAuthException : 현재 사용자에 대한 정보를 쿼리하려면 활성 액세스 토큰을 사용해야합니다. (0) | 2020.12.30 |