auto
"로컬 범위"를 의미하는 이전 C 키워드입니다. auto a
는 auto int a
함수와 동일하며 함수 내에 선언 된 변수의 기본값은 로컬 범위이므로이 int a
예제 와 동일 합니다.
이 키워드는 실제로 어떤 기본 유형 없었다 C의 전신 B,에서 남은입니다 : 모든했다 int
포인터, int
배열, int
(*) 선언 중 하나가 될 것입니다. auto
또는 extrn
[원문]. C는 "모든 것이 int
"를 기본 규칙으로 상속 했으므로 다음과 같이 정수를 선언 할 수 있습니다
auto a;
extern b;
static c;
ISO C는 이것을 제거했지만 많은 컴파일러는 여전히 이전 버전과의 호환성을 위해 그것을 승인합니다. 익숙하지 않은 경우 관련 규칙이 적용되고 있음을 알아야합니다.
unsigned d; // actually unsigned int
현대 코드에서 여전히 일반적입니다.
C ++ 11은 키워드를 재사용했는데 C ++ 프로그래머가 형식 유추를 위해 원래의 의미로 사용하는 경우는 거의 없었습니다. int
C 의 "모든 것 "규칙이 C ++ 98에서 이미 삭제 되었기 때문에 이것은 대부분 안전합니다 . 깨는 유일한 것은 auto T a
어쨌든 아무도 사용하지 않은 것입니다. ( 언어의 역사에 관한 그의 논문 어딘가에 Stroustrup은 이것에 대해 언급하고 있지만 지금은 정확한 참고 문헌을 찾을 수 없습니다.)
(*) B에서의 문자열 처리는 흥미로웠다. int
각 멤버에 여러 문자 배열을 사용하고 묶을 것이다 . B는 실제로 다른 구문을 가진 BCPL 이었습니다 .
int
1999 년에 C 표준에서 제거되었습니다