본문 바로가기

Programming/C Language

C 정리2

Function

-    큰 작업을 작은 작업들로 나눈다.

-    코드의 재사용성을 높인다.


함수의 정의

-    필요로 하는 함수를 정의해서 사용할 수 있다.

-    main함수 또한 정의하여 사용하는 함수다.    프로그램이 실행되면 운영체제에서 가장 먼저 호출하는 함수가 main() 이다.

함수의 prototype을 선언해놓으면 함수의 내용을 나중에 정의할 수 있다.

또한 함수의 prototype에서는 인자의 이름을 생략할 수 있다.


헤더파일

-stdio.h : standard input / output ( 입출력과 관련된 함수들 )

-string.h : 문자열과 관련된 함수들

-math.h : 수학과 관련된 함수들

-stdlib.h : 메모리 관리 , 랜덤 등 다양한 함수를 제공

이 외에도 다양한 표준 라이브러리 헤더파일이 존재한다.


static function

-static 키워드가 붙은 static function은 다른 소스 파일에서 사용할 수 없다.


변수

-Automatic ( Local ) variable : 지역변수로 함수가 호출될 때 할당되고 , 함수가 종료될 떄 소멸된다.

-Global variable : 전역변수로 모든 함수 밖에서 선언하며 코드 전체에서 접근이 가능하다.

-External variable : 다른 소스코드 파일에서 선언한 변수를 현재 소스코드 파일에서 사용할떄 사용한다.

-Static variable : 전역변수처럼 프로그램 시작시 할당되며 , 프로그램 종료시 소멸된다.

그러나 선언된 함수 내에서만 사용이 가능하며 함수밖에 선언되면 해당 소스코드 내에서만 사용이 가능하다.

가능한 최대한 전역변수를 static 변수로 대체하는것이 좋다.

-Register variable : 레지스터에게 해당 변수를 레지스터에 저장하는것이 좋다고 컴파일러에게 찔러준다.

  하지만 찔러준다고 항상 레지스터에 저장되는것은 아니다.


재귀

-함수 내에서 자기 자신함수를 다시 호출한다.

-재귀 사용시 반드시 탈출 조건을 줘야한다 .


배열

- 같은 자료형을 가지는 변수들의 집합으로 각 변수들을 원소라고 한다.

- 배열 원소에 접근할떄는 index값을 사용하며 index는 zero base를 적용한다.

- 배열이 크기(size)는 메모리에 할당된 공간의 크기를 말한다.

- 배열의 길이(length)는 배열을 구성하는 원소의 수를 말한다.


문자열은 0개 이상의 문자들로 이루어진 sequence이다 , 즉 문자열은 char형 변수들을 이어붙인 배열이다.


포인터 연산자

-    *연산자는 피연산자가 가리키는 곳으로 가서 데이터를 가져온다 ( 역참조 ).

-    &는 피연산자가 위치한 주소를 알려준다.

* 와 & 는 반대 관계이다 . *(&var) == var , &(*ptr) == ptr


포인터 연산

- 포인터 변수는 다른 변수 값과 연산 결과가 다르다.

- 포인터가 가리키는 자료형의 크기 단위로 증가 또는 감소한다.


함수로의 인자 전달

- 인자 (Argument ) : 함수를 호출할 때 전달하는 값으로 모든 인자는 함수 내에서만 접근 가능한 지역변수이다.

- Call by Value : 함수의 인자로 값을 전달한다 , 함수 내에서 사용하는 것은 원본 변수가 아닌 복사값일 뿐임.

- Call by Reference : 함수의 인자로 주소값 ( 포인터 ) 를 전달한다 , 함수 내부에서 원본 변수에 직접 접근할 수 있도록 한다.




'Programming > C Language' 카테고리의 다른 글

C 정리1  (0) 2018.05.26
포인터  (0) 2017.11.29
Data Structure 배열  (0) 2017.11.29
내용 보충  (0) 2017.11.09
반복문 예제  (0) 2017.11.08