static 함수?
글쓴이: vani2 / 작성시간: 화, 2013/09/24 - 7:46오후
soen.kr의 C/C++ 프로그래밍 강좌중 C문법 부분을 재탕하다가 static 함수라는 것을 발견했는데요,
static함수는 C++의 클래스의 멤버함수의 static 지정자에서만 보던건데 C언어 자체에도 있었다는 것이 놀랍네요.
네이버로 검색해보니(아니면 검색 실력이 모자란건지..) 모두 static 맴버함수만 나오네요.
static함수에 대해선 자세하게 배운적이 없는것 같은데..(소유중인 C서적 3권에도 나와있지 않습니다.)
static함수라는 개념이 원래부터 C에 있었던것이 맞나요? 아니면 최근들어 추가된 건가요?
static함수에 관련된 스펙이나 문서의 링크 등을 제공해 주시면 감사하겠습니다.
Forums:
구글에서 스태틱변수 검색해보니
http://ko.wikibooks.org/wiki/C_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%9E%85%EB%AC%B8/%EB%B3%80%EC%88%98%EC%9D%98_%EC%9C%A0%ED%9A%A8%EB%B2%94%EC%9C%84%EC%99%80_%EC%A0%80%EC%9E%A5_%EC%9C%84%EC%B9%98
원래부터 있던것 입니다;
원래부터 있었군요.... 좌절 OTZ ;(
원래부터 있었군요....
좌절 OTZ ;(
C에서 static은 2가지 용법이
C에서 static은 2가지 용법이 있습니다.
하나는 변수의 라이프에 관한 것이고
다른 하나는 linkage에 관한 용법입니다.
전역변수나 함수 앞에 붙는 static은 linkage가 private이라는 것이고
지역변수 앞에 붙는 static은 변수의 라이프에 관한 표현입니다.
C++에서는 class에서 this포인터가 없는 멤버
그러니까 인스턴스 멤버가 아니라 클래스 멤버임을 나타내기 위한 용법이 하나 더 있습니다.
C++에서 static linkage를 나타내는 경우에는
C에서와 같이 static을 쓸 수도 있고
이름없는 namespace를 사용할 수도 있습니다.
즉 C++에서
라고 하는 것은
C에서
와 같은 의미입니다.
아하 namespace 용법도 있었군요.
아하 namespace 용법도 있었군요.
댓글 달기