본 내용은 POCU COMP2200: C 언매니지드 프로그래밍 강의를 토대로 작성하였습니다.
- #include
C# | C |
using System; | #include <stdio.h> |
- C#에서 using 지시문(directive)과 비슷한 일을 함
- 다른 파일에 구현된 함수나 변수를 사용할 수 있게 해 줌
- 다만, C# 처럼 똑똑하게 알아서 함수나 변수를 찾아주지는 않음
- 사실 #include는 전처리기 지시문 중 하나
- 전처리기(preprocessor)란?
- 컴파일을 하기 전에 텍스트를 '복붙'해주는 일을 함
- #include는 파일 열어서 텍스트 복사해서 붙여넣는 것임
- <stdio.h>
#include <stdio.h>
- C 표준 라이브러리 (C Standard Library, libc) 중 일부
- C 표준 라이브러리란?
- 다음에 필요한 매크로, 자료형(data type), 함수 등을 모아 놓은 것
- 문자열 처리
- 수학 계산
- 입출력 처리
- 메모리 관리
- .NET Core 프레임 워크와 동등함
- Console.WriteLine();
- 다음에 필요한 매크로, 자료형(data type), 함수 등을 모아 놓은 것
- <stdio.h>의 역할
- libc에서 표준 입출력(Standard Input and Output)을 담당
- 스트림 입출력에 관련된 함수들을 포함
- C#의 System 네임스페이스와 비슷한 역할을 가진 라이브러리
- stdio 라이브러리에 있는 함수의 몇 가지 예:
- printf()
- scanf()
- fopen()
- fclose()
- main(void) 함수
- 프로그램의 진입점(entry point)
- C 코드를 빌드해서 나온 실행파일 (.exe 또는 .out)을 실행하면 main(void) 함수가 자동적으로 실행됨
- 반드시 int를 반환해야 함
- 0: 프로그램에 문제가 없었다는 뜻
int main(void)
{
return 0;
}
- printf() 함수
- 화면에 데이터를 출력할 때 사용하는 함수
- printf의 뜻은 'print formatted' (서식에 맞게 출력하다)
- '\n' : 새 줄(new line)을 의미하는 이스케이프 문자(escape character)
printf("Hello JINNY!\n");
- C 언어의 기본 문법
- C는 절차적 언어
- C는 순수하게 절차적 언어로만 사용 가능
- C#은 OOP 언어였지만 절차적으로도 어느 정도 사용할 수 있었음
- 즉, C로 작성한 코드는 데이터보다 프로세스에 중점이 맞춰져 있음
- 이게 반드시 나쁜 것은 아님
- OOP 언어에서도 종종 절차적 언어 스타일로 코드를 작성
- 또한, 절차적 언어는 이해하기 쉬움
- 그냥 매뉴얼에 적힌 내용을 순서대로 따라하는 느낌
- 클래스(class)
- 그런거 없음
- 함수
- 모두 전역(global) 함수
- 기본적으로 어디에서나 호출 가능
- 변수
- 함수 밖에 선언 되어 있으면, 전역 변수
- 함수 안에 선언되어 있으면, 지역(local) 변수
- 전역 vs 지역으로 딱 나뉘니 간단
'C' 카테고리의 다른 글
[C] 스택 메모리, 매개변수 배열 (0) | 2022.02.27 |
---|---|
[C] 연산자 우선순위와 평가 순서 , 범위(scope), const (0) | 2022.02.26 |
[컴퓨터의 작동 원리] 컴퓨터 메모리의 기본 구조 (0) | 2022.02.16 |
[컴퓨터의 작동 원리] 컴퓨터를 켤 때 일어나는 일들 / 운영체제가 해주는 일들 (0) | 2022.01.21 |
[컴퓨터의 작동 원리] 컴퓨터의 구성 요소들 (0) | 2022.01.21 |
댓글