ONLINE CLASS

C언어 기초부터 쉽게 진행하는 강의!

COURSE FOCUS

이 강의에서 배우는 핵심 실무

작은 C언어 프로그램에서 표준 입출력과 자료형 변환을 확인하고 함수를 선언해 지역·전역변수와 재귀 호출을 익힙니다. 이중·삼중포인터와 배열포인터로 2차원 배열에 접근하며 주소와 자료의 관계를 살펴봅니다. 파일 스트림의 읽기·쓰기·복사와 조건부 컴파일, 헤더·소스 분리를 실습해 데이터를 처리하고 코드를 정리하는 기본 방법을 배웁니다.

?

수강 전 꼭 확인하세요

수강 전 자주 묻는 내용을 간단히 안내드립니다.

Q초보자도 교재 없이 수강 가능한가요? 프로그램 정보는?
A

네, 영상과 실습자료로 쉽게 학습할 수 있습니다. 알지오는 원격평생교육원으로 프로그램 관련 정보는 제공하지 않습니다.

◆
기업이 선택한 신뢰 강의

검증된 커리큘럼과 전문 강사진으로 높은 만족도를 제공합니다.

자세히 보기  >
♥
수강료 일부는 사회환원에 사용됩니다.

작은 나눔이 더 나은 내일을 만듭니다.

자세히 보기  >
REAL REVIEW

수강생 리얼후기!

실제 수강생의 학습 경험을 확인해 보세요.

수강후기를 불러오는 중입니다.

RECENT Q&A

최근 수강질문

최근 등록된 수강질문을 작성순서대로 확인해 보세요.

ALZIO DEEP GUIDE

C 언어을 더 깊게 이해하기

20강에서 문법과 입력을 시작해 포인터·다차원 배열·구조체·문자열·파일·메모리·자료 구조·파일 분리로 이어집니다. 주소와 객체의 관계를 집중적으로 읽는 기초 과정입니다.

공식 기술정보 확인20강 커리큘럼 연결2026 현재 기술정보

C언어 기초부터 쉽게 진행하는 강의! · 20강 · 12시간 44분

01

C 언어은 무엇인가

C는 형식·함수·제어문·메모리 접근을 직접 다루는 컴파일 언어입니다. 시스템과 라이브러리의 기반 코드를 읽거나 자료 구조의 동작을 배우는 데 사용합니다. 낮은 수준의 제어를 제공하는 만큼 배열의 범위·객체의 수명·입출력 실패를 코드에서 확인하는 일이 중요합니다.

02

관련 플랫폼과 개발도구의 관계

C 언어·컴파일러·표준 라이브러리는 역할이 다릅니다. 컴파일러가 소스를 처리하고 링커가 필요한 코드와 라이브러리를 연결해 실행 파일을 만듭니다. 같은 문법이라도 선택한 표준 모드·컴파일러 확장·운영체제 조건을 기록해야 다른 환경에서 차이를 설명할 수 있습니다.

03

C 언어의 핵심 기능

기술 자체의 기능과 이 강좌의 직접 학습 범위는 다릅니다. 아래 연결 표시는 저장된 공개 커리큘럼에 근거합니다.

형식과 연산자

값의 표현·변환·계산 규칙을 정합니다. 정수와 실수의 계산, 연산 우선순위를 확인하면 예상과 다른 결과를 추적할 수 있습니다. 형 변환이 모든 값의 손실을 자동으로 막는 것은 아닙니다.

강좌에서 직접 학습 · 1~3강

제어 흐름

조건과 반복으로 실행 순서를 구성합니다. 입력·종료 조건과 반복 중 바뀌는 값을 나눠 보면 멈추지 않는 반복을 찾기 쉽습니다. 짧은 예제도 경계 입력에서 같은 규칙이 유지되는지 확인합니다.

강좌에서 직접 학습 · 4~5강

함수와 인수

입력과 결과를 가진 작업 단위입니다. C의 인수 전달은 값 전달이며 포인터 값도 복사됩니다. 복사된 주소로 원래 객체에 접근하는 경우와 함수 내부의 변수만 바꾸는 경우를 구분해야 합니다.

강좌에서 직접 학습 · 6·12강

배열·문자열

같은 형식의 원소를 연속된 구조로 다룹니다. C 문자열은 종료 문자를 포함한 저장 공간을 확인해야 합니다. 원소 개수와 문자열 길이, 쓸 수 있는 버퍼 크기를 같은 값으로 취급하지 않습니다.

강좌에서 직접 학습 · 8~12·15강

구조체·공용체

관련 값을 사용자 정의 형식으로 묶습니다. 구조체는 여러 멤버를 갖고 공용체는 저장 공간을 공유하므로 의미가 다릅니다. 회원·성적·노드 같은 자료를 여러 변수 대신 일관된 단위로 다룰 때 유용합니다.

강좌에서 직접 학습 · 13~14강

동적 메모리

실행 중 필요한 공간을 요청하고 해제합니다. 할당 실패·유효 범위·해제 시점을 확인해야 합니다. 연결 구조에서 노드를 지웠다고 다른 포인터가 자동으로 안전해지는 것은 아닙니다.

강좌에서 직접 학습 · 15·17~18강

파일 입출력

프로그램 밖에 자료를 저장하고 읽습니다. 열기·읽기·쓰기의 결과와 파일 끝을 나눠 확인하면 비어 있거나 손상된 입력을 다루기 쉽습니다. 메모리에 있는 값과 실제 파일 내용이 같아졌는지도 확인하세요.

강좌에서 직접 학습 · 16강

전처리와 파일 분리

매크로·조건부 컴파일·헤더와 소스 분리로 빌드 구성을 관리합니다. 텍스트 치환과 함수 실행은 다릅니다. 선언과 정의의 역할을 구분하면 여러 파일에서 발생하는 빌드·링크 오류를 추적하기 쉽습니다.

강좌에서 직접 학습 · 19~20강
04

이 과정의 실제 작업 흐름

1~6강은 실행·자료형·연산·분기·반복·함수입니다. 7~12강은 포인터·배열·다중 포인터·함수 인수로 이어지므로 같은 값과 그 값을 가리키는 주소를 구분해서 복습하세요.

13~17강은 구조체·문자열·파일·메모리의 역할입니다. 18강에서 정렬과 노드의 추가·삭제를 확인하고 19~20강에서 매크로·조건부 컴파일·헤더와 소스 분리로 정리합니다. 여러 파일로 나눠도 선언과 정의가 연결돼야 합니다.

  1. 출력·형식·연산
  2. 조건·반복·함수
  3. 포인터·다차원 배열
  4. 구조체·문자열
  5. 파일·메모리
  6. 정렬·노드·파일 분리
05

핵심 구조를 이해하는 방법

변수는 형식과 수명을 가진 객체이고 포인터는 접근할 위치를 표현합니다. 배열 객체와 포인터 변수는 같은 것이 아니지만 많은 식에서 배열이 첫 원소를 가리키는 포인터로 변환됩니다. 주소를 가지고 있다는 이유만으로 그 위치가 현재 유효하거나 읽고 써도 되는 것은 아닙니다.

06

실무 적용과 결과 확인

7~12강의 포인터 복습에서는 포인터 변수의 값과 그 위치의 값을 별도로 적어 보세요. 2차원 배열과 이중 포인터를 같은 구조로 가정하지 않고 함수 인수의 형식을 대조하는 것은 추가 점검 제안입니다.

15~18강에서는 문자열 공간·파일 끝·동적 공간·노드 삭제의 결과를 각각 확인하세요. 값을 출력할 수 있다는 사실만으로 주소의 수명이 유효하다고 보장되지 않습니다. 실제 메모리 안전성 전체 도구를 본 과정이 가르친다고 확대하지 않습니다.

주소와 자료 구조 읽기

7~12강에서 포인터·배열·함수를 연결하고 18강에서 정렬·단일 리스트로 확장합니다. 큰 시스템 제작 전에 작은 자료 구조의 유효 범위와 변경 결과를 설명하는 기반입니다.

강좌 연결과 추가 적용의 범위 구분

파일과 소스 구성

16강의 자료 입출력과 19~20강의 전처리·파일 분리는 작은 프로그램을 재실행하고 정리하는 기반입니다. 대형 프로젝트의 빌드·배포 체계 전체는 별도 학습입니다.

강좌 연결과 추가 적용의 범위 구분
07

이 강좌에서 집중할 전문주제

이 과정의 중요한 축은 7~12강의 주소와 배열 관계입니다. 배열의 차원, 포인터가 가리키는 형식, 함수에서 접근할 원소를 구분하면 다중 포인터 문법을 단순 기호 암기로 처리하지 않을 수 있습니다.

19~20강은 코드가 커질 때 파일과 전처리를 구성하는 출발점입니다. 헤더에 필요한 선언과 소스의 정의, 조건부로 포함되는 부분을 나눠 확인하세요. 완성된 대형 프로젝트 빌드 시스템 전체와는 범위가 다릅니다.

08

현재 기술과 강좌 환경의 관계

공개 자료에는 C 표준 모드와 컴파일러의 정확한 제작 버전이 명시되지 않습니다. 현재 도구에서 실행할 때는 표준 모드·경고·플랫폼 조건을 기록하고 강의 예제와 대조합니다.

자료형·배열·포인터의 핵심 개념과 구체적인 실행 도구의 차이를 구분합니다. 이 과정이 최신 C 표준 신규 기능·시스템 전체 개발·보안 도구 전체를 직접 다룬다고 표시하지 않습니다. 강의의 파일 분리와 현재 빌드 설정은 별도 층입니다.

09

목적에 맞는 기술 선택과 비교

아래 비교는 목적과 작업 구조를 선택하기 위한 안내입니다. 다른 기술 전체를 본 강좌에서 가르친다는 뜻은 아닙니다.

목적에 맞는 기술 선택과 비교
선택지작업 접근이 강좌와의 관계
이 과정의 C 기초주소·배열·함수·파일 구조20강의 단계별 기반
C 알고리즘 응용정렬·재귀·연결 리스트·성적처리 확대49강 과정과 목적 비교
C++ 객체·컨테이너다른 언어의 자료 구성 도구다음 학습에서 별도 비교
10

기술개념과 알지오 커리큘럼 연결

회차는 공개 커리큘럼의 실제 순서입니다. 실습 후 응용 제안과 현재 기술 참고정보를 강의에서 제공하는 실습으로 해석하지 않습니다.

기술개념과 알지오 커리큘럼 연결
기능·개념무엇인가실무 의미강좌 회차학습 상태
형식·연산·제어·함수값과 실행 순서기초 프로그램 구성1·2·3·4·5·6강강좌에서 직접 학습
포인터·배열·함수 인수주소와 다차원 자료접근 방식과 원본 구분7·8·9·10·11·12강강좌에서 직접 학습
구조체·공용체·열거형사용자 정의 자료관련 값을 묶기13·14강강좌에서 직접 학습
문자열·스트림·파일·메모리자료와 자원 관리길이·파일 끝·수명 확인15·16·17강강좌에서 직접 학습
정렬·단일 리스트자료 순서와 노드 연결추가·삭제의 결과 확인18강강좌에서 직접 학습
매크로·조건부 컴파일·파일 분리코드와 빌드 구성선언·정의·치환 구분19·20강강좌에서 직접 학습
11

처음 배울 때 자주 생기는 오해

주소만 있으면 읽고 써도 되나?

객체의 수명과 범위가 유효해야 합니다. 7·17강을 연결해 확인하세요. 숫자처럼 보이는 주소와 접근 가능한 자료는 다릅니다.

2차원 배열은 이중 포인터인가?

같은 구조라고 가정하지 않습니다. 9~12강에서 형식과 원소 접근을 비교하세요. 인수 선언에 맞는 자료를 전달해야 합니다.

함수가 포인터를 받으면 원본이 자동 변경되나?

주소값을 복사해 받고 해당 위치에 접근할 수 있습니다. 12강에서 값 전달과 역참조 결과를 나눠 보세요. 포인터 변수 자체의 변경과 대상 값 변경도 다릅니다.

문자열은 문자 개수만 저장하면 되나?

종료 문자를 포함한 공간이 필요합니다. 8·15강을 함께 확인하세요. 버퍼 크기와 문자열 길이는 구분합니다.

파일 끝은 오류와 같은가?

읽기 결과와 파일 끝·오류를 나눠 확인해야 합니다. 16강의 스트림과 위치를 연결하세요. 출력이 없다는 것만으로 원인을 판단하지 않습니다.

파일을 나누면 컴파일도 독립적인가?

선언과 정의가 연결되어야 합니다. 20강의 헤더·소스를 빌드 결과와 대조하세요. 분리만으로 의존성과 링크 문제가 해결되지는 않습니다.

12

다음 학습 방향

C언어 (기초 + 실무)

정렬·재귀·연결 리스트와 성적처리 응용으로 확대합니다.

자료 보기 →

C++ (기초+실무)

객체·상속·예외·컨테이너의 C++ 범위를 비교합니다.

자료 보기 →

C 언어 관련 과정 비교

입문·실무·심화 과정의 실제 커리큘럼을 목적에 맞게 비교합니다.

자료 보기 →

실습과 복습 계획

새 환경에서 예제를 확인하고 학습 계획을 세우는 방법을 살펴봅니다.

자료 보기 →

기술정보는 C 언어 구현사의 공식 언어 참조의 공식자료를 기준으로 검토했으며, 강좌 범위는 C언어 기초부터 쉽게 진행하는 강의!의 공개 커리큘럼과 구분했습니다.

공식 기술정보 확인일: 2026-10-05 · 강좌 업데이트일을 의미하지 않습니다.

C언어 기초부터 쉽게 진행하는 강의! C언어 기초부터 쉽게 진행하는 강의!
  • C언어 기초부터 쉽게 진행하는 강의!

  • 강의구성
  • (20강) 전체 : 12시간 44분|평균 : 38분12초
  • 이용기간/강사
  • 1개월2개월
    알지오 R&D [IT] ▶ 프로필 보기
  • 증빙가능
  • 수료증, 수강증, 학습진도
  • 수강료
  • 190,000원할인95,000원
?

수강 전 꼭 확인하세요

수강 전 자주 묻는 내용을 간단히 안내드립니다.

Q 초보자도 교재 없이 수강 가능한가요? 프로그램 정보는?
A

네, 영상과 실습자료로 쉽게 학습할 수 있습니다. 알지오는 원격평생교육원으로 프로그램 관련 정보는 제공하지 않습니다.

  • 01.30분 Hello Alzio!
    간단한 프로그램을 통해, C언어의 기본 문법을 확인하고, 변수의 개념을 학습하고 표준 입출력 함수를 통해 데이터를 입력하고 화면에 출력해본다.
    새 프로젝트, Hello alzio 출력, printf, string, 똑같이 출력하기, 변수, scanf, 덧셈과 곱셈 프로그램
  • 02.34분 C언어의 자료형
    c언어에서 사용하는 정수형 및 실수형 자료형을 확인하고, 여러 자료형의 값의 입출력 및 자료형변환을 살펴보고, 문자에 대응하는 아스키 코드값을 확인해본다.
    자료형, 문자 자료형, 정수값을 아스키 문자로 출력하기, 실수형태 주의사항, 대문자를 소문자로 출력하기
  • 03.32분 연산자
    C언어에서 사용하는 산술연산자, 논리연산자, 비트연산자 등을 알아보고 연산자 우선순위를 확인해봅니다.
    산술연산자, 곱셈과 나눗셈, 나머지연산자, 증가감소연산자, 비교연산자, 논리연산자, 비트연산자
  • 04.34분 조건문
    여러 조건문을 사용하여 프로그램의 실행 흐름을 분기시켜 봅니다.. if~else, else if 및 switch-case문과 삼항연산자 그리고 goto문으로 분기하는 예제들을 확인해봅니다.
    조건문, 불(boolean)자료형, if~else문, 사칙연산 만들기, 삼항연산자, switch-case문
  • 05.32분 반복문
    while, do~while, for문 등 코드를 여러번 반복해서 실행하는 반복문을 알아보고, 반복문을 탈출하는 방법을 학습합니다.
    while문, do~while문, for 반복문, continue
  • 06.38분 함수
    함수에 관해 알아보고, 함수를 정의하고 선언해봅니다. 지역변수와 전역변수를 확인하고, 재귀함수를 사용하여 함수 내에서 동일함수를 여러번 호출해봅니다.
    함수, 지역변수, 전역변수, Factorial
  • 07.33분 포인터
    포인터 변수와 메모리 주소값의 관계를 확인하고, 역참조 연산으로 포인터가 가리키는 곳의 값을 변경, 출력해봅니다. 포인터의 대상 변경 및 이중포인터의 개념을 확인해봅니다.
    포인터, 역참조, 포인터에 포인터 대입, 이중포인터
  • 08.37분 배열 Chapper 1
    배열을 사용하여 반복문으로 값을 입/출력 해보고, 배열의 길이를 구해봅니다. 문자열을 배열에 저장하고, 문자열에서 널문자의 필요성을 알아보고 배열의 인덱스를 사용하여 문자열의 내용을 변경해봅니다.
    배열, 초기화, 문자열, Null문자, 키보드로 입력받을시 주의사항
  • 09.40분 배열 Chapper 2
    2차원 배열을 선언하고 초기화 해보고, 값을 대입하는 방법과, 행/열이 바뀌었을 때 반복문으로 값을 접근하는 법을 배웁니다. 3차원 배열의 형태를 알아보고 내용을 출력해봅니다.
    2차원 배열, 2차원 배열 예제, 배열 예제, 3차원 배열
  • 10.37분 포인터와 배열 Chapper 1
    포인터 상수 및 변수를 확인하고, 포인터로 배열에 접근하고 값을 변경해봅니다. 배열의 이름으로 포인터 연산을 진행하고, 주소값을 저장하는 포인터 배열을 선언 및 활용해보며, 문자열과 주소값의 관계를 확인해봅니다.
    포인터와 배열, 배열의 주소값을 출력하는 예제, 포인터와 배열의 관계, 주소값들을 저장하는 배열
  • 11.40분 포인터와 배열 Chapper 2
    이중포인터와 삼중포인터를 확인하고, 2차원 배열의 포인터형인 배열포인터를 선언해봅니다. 2차원 배열에 포인터로 접근하는 다양한 방법을 확인해봅니다.
    이중포인터, 배열 c의 주소, 값 출력하기, 삼중포인터, 2차원 배열, 역참조연산
  • 12.38분 포인터와 함수
    주소값을 전달받는 함수를 여러개 만들어봅니다. 2차원 배열을 전달할때 방법을 확인하고, 값에 의한 참조와 주소값에 의한 참조의 결과를 비교해봅니다.
    주소값을 전달받는 함수, 30자 이내의 문자열 입력, 함수 만들기, 값에 의한 참조 (Swap), 그림 설명
  • 13.39분 구조체 Chapper 1
    구조체를 정의하고 typedef선언으로 이름을 붙여봅니다. 구조체 배열과, 구조체 포인터를 알아보고 구조체를 멤버로 선언해봅니다.
    구조체, typedef선언시 주의점, 구조체의 요소, 구조체 포인터 변수 예제
  • 14.36분 구조체 Chapper 2
    구조체로 대입연산과 함수의 반환형 및 매개변수로 구조체를 사용해봅니다. 공용체와 구조체를 비교해보고, 열거형 상수를 사용하여 출력해봅니다.
    구조체 대입연산, 함수 반환형, 공용체 예제, 열거형 상수
  • 15.49분 문자열과 입출력
    문자열 관련 함수(길이, 비교, 복사, 덧붙이기, 검색 등)를 알아보고, 동적 메모리를 할당에 관해 배워봅니다. 표준 입출력 함수를 확인하고 스트림과 버퍼의 개념을 다룹니다.
    문자열 함수, strcpy 함수, strcat 함수, strchr 함수, strtok 함수, 문자를 정수로 변경하는 함수, 문자열 입출력 함수, 버퍼
  • 16.39분 파일입출력
    파일 스트림을 형성하여, 파일로 데이터를 입출력 해봅니다. 파일의 복사 및 파일의 끝을 다루는 방법을 살펴봅니다. 파일포인터를 활용하여, 파일의 현재위치를 확인해봅니다.
    파일 스트림, 문자를 읽어오는 함수를 파일스트림을 통해 읽기, 파일 복사, 파일의 끝에 도달하여 종료, 파일포인터
  • 17.35분 메모리
    메모리의 각 영역의 개념을 확인하면서, 해당 영역에서 사용하는 변수들의 사용법을 확인해봅니다. 스택과 힙영역의 차이와 static지역변수를 확인해봅니다. 메모리를 동적으로 할당하는 여러 함수를 공부합니다.
    스택(Stack), static지역변수, 힙(Heap), realloc
  • 18.53분 자료구조
    자료구조의 대표적인 내용인, 정렬과 리스트에 대해 배웁니다. 버블정력, 퀵정렬이 실행되는 방법을 확인해봅니다. 단일리스트 개념으로 노드를 추가/삭제하는 방법을 배웁니다.
    자료구조, Quick Sort, Quick Sort 함수, head, 반복문
  • 19.38분 매크로
    전처리기의 개념과 매크로의 정의를 확인해봅니다. 매크로의 사용방법 및 주의사항을 배우고, 매크로의 장단점을 확인해봅니다.
    매크로, AREA 함수, 인사말 출력하는 매크로, SHOW_ME, MEAL
  • 20.50분 파일디자인
    조건부 컴파일로 원하는 부분만 컴파일 되게끔 하고, 발생가능한 에러를 방지해봅니다. 헤더파일과 소스파일을 분리하여 파일을 보기좋게 작성해봅니다.
    조건부 컴파일, 정의여부에 따른 컴파일, diff.c, abs.c, diff.h, point.c, node.c

강의목록 다운로드                        1:1 강의 질문&답변






도움이 필요하신가요?
💬
알지오 학습·수강 도우미
운영진이 확인한 안내를 자세히 보고, 필요하면 바로 상담하세요.
상담 상태 확인 중