본문 바로가기
공부/c언어

09

by suyeon27 2023. 4. 14.
출처 : 윤성우. 윤성우의 열혈 C 프로그래밍. 오렌지미디어, 2010.
  • 몰랐던 or 까먹었던 내용 위주 정리


[1] 함수

값이 반환된다는 것은 함수의 호출문이 반환 값으로 대체되는 것으로 이해할 수 있다.

다양한 형태의 함수 정의
1. 전달인자와 반환 값이 모두 있는 경우
2. 전달인자나 반환 값이 존재하지 않는 경우
ex) void suyeon27(void) // 인자전달 X, 반환 값 X : void는 '인자를 전달하지 않는다.', '반환하지 않는다.'라는 뜻이 담겨있다.

return이 지니는 2가지 의미 중 1가지 의미만 살리기
1. 함수를 빠져나간다.
2. 값을 반환한다.

함수는 호출되기 전에 미리 정의되어야 한다.
main을 포함한 모든 함수는 조건 및 상황에 관계없이 다른 함수를 호출할 수 있다.


 
[2] 지역변수
1. 중괄호 내에 선언되는 변수는 모두 지역변수다. (반복문 조건문에도 선언 가능)
2. 지역변수는 해당지역을 벗어나면 자동으로 소멸된다.

*프로그램의 실행에 따른 지역변수의 생성 및 소멸의 과정을 이해하는 것은 지역변수 자체를 이해하는 것이기 때문에 매우 중요하다.
- 지역변수는 스택이라는 메모리 영역에 할당된다.
- 지역변수는 접시에 쌓듯이 할당된다.

**지역변수는 해당 선언문이 실행될 때 메모리 공간에 할당되었다가, 선언문이 존재하는 함수가 반환을 하면(종료를 하면) 메모리 공간에서 소멸된다.

 

 

[3] 전역변수
1. 프로그램의 시작과 동시에 메모리 공간에 할당되어 종료 시까지 존재한다.
2. 별도의 값으로 초기화하지 않으면 0으로 초기화된다.
3. 프로그램 전체 영역 어디서든 접근이 가능하다.

전역변수를 많이 선언하면 스파게티 코드가 될 수 있으니 주의하자.


지역변수에 static 선언이 붙게 되면, 이는 전역변수의 성격을 지니는 변수가 된다.

'공부 > c언어' 카테고리의 다른 글

11  (0) 2023.04.28
10  (0) 2023.04.21
08  (0) 2023.04.07
07  (0) 2023.03.31
06  (0) 2023.03.24

댓글