내가 그것을 정의하기 전에 내 .c 파일에 선언 정적 기능을 갖고 싶어 : 그러나함수 정의에서 정적 키워드가 함수 정의에 누락 될 수 있습니까?
//file a.c version 1
static int foo();
...
static int foo()
{
...
}
를, 내가 함수 정의 밖으로 static
키워드를 남길 수 있습니다 보인다 내가 어떤 컴파일러 경고를 얻을 ... 예.
//file a.c version 2
static int foo();
...
int foo()
{
...
}
정확하게이 두 형식이 정확히 같다고 가정합니다.
그렇다면 왜이 불일치가 허용되며 어떤 양식을 사용해야합니까?
나는 그/그녀가 진짜 큰 프로그램을 작성하지, 운동을하고 있다고 생각한다. 내 생각에, 첫 번째 Google은 그 유형 질문 때문에 그것은 사소한 것입니다. –
@fatai : Google에이 질문을하는 것은 상당히 어렵습니다. 그리고 여기서 언어 변호사는 표준에서 인용문을 제공 할 것입니다. –
질문에 대답 해 주신 Erik과 AProgrammer에게 감사드립니다 !! 미래의 선언/정의에서 정적 키워드를 생략 할 수있는 것이 바람직한 이유는 무엇입니까? 이점이 추가되지 않으면 혼란 스럽습니다. – Arrakis