본문 바로가기
VisualStudio.C++.C#/코딩팁,함수활용,단편

C. static 함수 선언.

by i.got.it 2019. 10. 21.

 

C 에서 함수를 static 으로 선언하는것은 그 함수는 해당 소스파일에서만  사용가능하게 한다.   

얻게되는 장점은 동일 함수명이 다른 파일에 있어도 충돌없이 따로 작동함.  

따라서, 외부에서도 호출할 함수 외에는 기본 staic 함수로 선언함이 유리하다. 

 

예로 아래 처럼 2개의 파일에서 동일한 함수명 function1 이 있다고 하자. 

///////////////////////////////////////////////////////////////////////////////////////
//file :  other.c
void function1()
{
	
}

/////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////
//file : main.c 

void function1()
{

}

main()
{

	function1(); 
}

///////////////////////////////////////////////////////////////////////////////////////

위와 같이 동일 함수 이름인데 실제 기능은 다른걸로 정의하려는 경우 static 함수로 정의하면 된다.

2개 파일에 있는 함수 중 어떤 것을 static 으로 선언할지는 상황따라 결정하면 된다. 파일 other.c 에 있는 함수 function1 을 다른 소스에서도 활용할 의도였다면 이 함수는 static 선언하면 안된다. main.c 에 있는 function1 은 main 에서만 사용하는것이라면 main 에 있는 function1 을 static 으로 선언하면된다.

 

///////////////////////////////////////////////////////////////////////////////////////
//file :  other.c
void function1()
{
	
}

/////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////
//file : main.c 

static void function1() // static 선언하여 본 함수는 main.c 내에서만 사용가능한걸로 함.
{

}

main()
{
	function1();
	
}

///////////////////////////////////////////////////////////////////////////////////////

 

 

 


첫등록 : 2019년 10월 21일 

최종수정 : 

 

본 글 단축주소 : https://igotit.tistory.com/2344

 


 

 

 

 

 

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5