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 |