본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 19편 동영상 보기 이번시간에는 여러 자료형을 묶어 하나로 사용할 수 있는 구조체에 대해 알아보도록 하겠습니다. 1. 구조체 학생 10명의 국어 점수를 저장하고 싶을때는 다음과 같이 int scoreKOR[10]; 이렇게 10개만큼의 배열로 선언을 해줬습니다. 여기서 국어 점수 뿐만 아니라 수학, 영어 점수도 저장하고 싶을때는 아래처럼 int scoreKOR[10]; int scoreMAT[10]; int scoreENG[10]; int scoreSCI[10]; 지난시간까지 알아본 것을 이용하면 각각의 배열로 따로 선언해줄수밖에 없습니다. 이렇게 선언하게 되면 배열의 갯수가 많아질수록..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 18편 동영상 보기 이번시간에는 변수의 사용 범위와 형태에 대해 알아보도록 하겠습니다. 1. 전역변수와 지역변수 ◆ 지역 변수 지금까지 우리가 사용한 변수들은 메인 함수의 중괄호 첫부분에 선언하여 사용해왔습니다. 이렇게 선언된 변수는 메인 함수의 마지막 부분, 그러니까 메인 함수의 중괄호가 끝나는 부분에서 소멸하게 됩니다. #include void main() { int a = 0; // int형 변수 a를 선언 ... } // 변수 a 소멸 이렇게 중괄호로 묶인 블럭 안에서 선언된 변수는 블럭의 끝, 그러니까 중괄호가 닫히는 부분에서 소멸하게 되는데 이런 변수를 '지역 변수' 라고 ..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 14편 동영상 보기 이번시간에는 지난시간에 이어, 여러가지 포인터의 사용법에 대해 알아보도록 하겠습니다. 내용이 조금 어려울 수 있으므로 한 단락씩 나눠서 보시는 것도 좋을 것 같습니다. 1. 다중 포인터 지금까지는 포인터를 선언할때 '*'를 한개만 썼는데 이것을 여러개 써줄 수 있습니다. 두개를 쓰는 것을 '이중 포인터' 혹은 '더블 포인터' 라고 하며, 이는 포인터의 주소를 가리킵니다. int a = 1; int *p1 = &a; int **p2 = &p1; 위와 같은 식입니다. 아래 그림을 봅시다. int형 변수 a는 0x01번지를 시작주소로 가지고 있으며, 그 주소에는 1이라는..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 13편 동영상 보기 이번시간에는 메모리의 주소를 다루는 포인터에 대해 알아보도록 하겠습니다.. 1. 메모리 주소 포인터를 알아보기에 앞서, 우리가 지금까지 사용한 변수들은 어떤 식으로 메모리에 저장이 되는가에 대해 알아보도록 하겠습니다. 다음과 같은 변수가 있다고 합시다. int a = 1; int형 a라는 변수를 1로 초기값을 주었습니다. 이것이 메모리에 저장될때는 현재 사용 가능한 메모리 공간의 특정 '주소'에 int형의 크기인 4바이트 만큼 윈도우, 리눅스 등 해당 운영체제에서 공간을 할당받고, 여기에 '값'인 1을 저장하게 됩니다. 그림을 그려보면 이런 식입니다. 각각 바이트단..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 12편 동영상 보기 이번시간에는 같은 종류의 자료형 여러개를 한 묶음으로 관리할 수 있는 배열에 대해 알아보도록 하겠습니다. 1. 배열의 선언과 초기화 배열 (Array) 이란, 어떤 한가지 자료형을 연속적으로 나열하는 것을 말합니다. 만약 100명의 이름을 저장하여 사용하고자 한다면, 100개의 변수를 선언해서 각각 저장하고 사용해야 하는데, 배열을 사용하면 변수 하나로 아주 쉽게 사용할 수 있습니다. 선언을 할때는 자료형 변수이름[갯수]; 와 같이 사용하며, 아래와 같이 int a[5] = {1, 2, 3, 4, 5}; int형 a라는 변수는 5개 만큼을 저장할 수 있는 배열로 선..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 11편 동영상 보기 이번시간에는 자료형과 변수를 알아볼때 나왔었던 '문자열'과 그 처리를 알아보도록 하겠습니다. 1. 문자와 문자열 지난번 자료형, 변수를 알아볼때 나왔던 내용을 잠시 살펴보겠습니다. 문자 : char, 1 바이트, 서식문자 %c 문자열 : char[], []안의 숫자만큼의 바이트, 서식문자 %s 선언 및 초기화는 이런식으로 했었습니다. 문자 char abc = 'a'; 문자열 char abc[10] = "abcdefg"; 문자는 char형으로 선언하며, 초기화 및 대입할때 작은 따음표 ''로 묶어야 합니다. 단일 문자이기 때문에 한글자만 들어갈 수 있고, 그렇기 때문..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 10편 동영상 보기 이번시간에는 잠시 쉬어갈 겸, 프로그래밍을 하는 과정에서 가장 많이 사용한다고도 할 수 있는 디버깅 방법에 대해 비주얼 스튜디오 기준으로 알아보도록 하겠습니다. 1. 빌드 모드 디버깅을 설명하기 앞서, 비주얼 스튜디오 상단의 툴바를 살펴봅시다. 툴바 중간쯤에 다음과 같은 'Debug'와 'x86' 이라는 표시가 보입니다. 'Debug' 옆의 ▼모양을 눌러보면 위 그림처럼 'Debug', 'Release' 그리고 '구성 관리자' 라는 것을 볼 수 있습니다. 이것들은 '빌드 모드' 라고 하며, 프로그램을 실행파일로 만드는 '빌드'를 할때 어떤 방식으로 할 것인가를 나눈..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 9편 동영상 보기 이번시간에는 프로그램 흐름을 제어하는 역할을 하는 제어문에 대해 알아보도록 하겠습니다. 1. 제어문 제어문은 프로그램의 흐름을 제어하는 역할을 합니다. 크게 네가지를 알아보도록 하겠습니다. ◆ break문 break문을 만나면 지금 처리하고 있는 블럭을 빠져나가 블럭 이후의 문장을 처리합니다. 이전 조건문 중 switch문을 알아볼때 한번 나왔는데, 다시한번 살펴보도록 하겠습니다. int a; switch (a) { case 1: printf("1입니다.\n"); break; case 2: printf("2입니다.\n"); break; } 위의 코드는 int형 변수 ..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 8편 동영상 보기 이번시간에는 해당 문장 또는 블럭을 반복적으로 처리할 수 있는 반복문에 대해 알아보도록 하겠습니다. 1. 반복문 반복문은 크게 3가지 정도이며, 해당 조건이 만족되는 동안 단일 문장 또는 여러 문장으로 이루어진 블럭을 반복적으로 처리합니다. ◆ while 문 while문은 ()안의 조건이 '참'으로 만족하는 동안 {} 안의 블럭을 반복적으로 처리합니다. while(조건) { 반복 작업할 코드 } 아래 예를 봅시다. int a = 0; while (a < 3) { printf("A"); ++a; } 위의 코드는 int 형 변수 a가 3보다 작을때까지 'A'를 출력하는 ..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 7편 동영상 보기 이번시간에는 조건에 따라 다른 동작을 할 수 있게 하는 '조건문'에 대해 알아보도록 하겠씁니다. 1. 조건문 지금까지는 단순히 위에서 아래로 순차적으로 프로그램이 실행되었고, 그렇게 프로그래밍을 하였습니다. 여기에 조건문이 더해지면 중간을 건너 뛰거나, 어떤 조건에 따라 특정 동작을 하도록 프로그래밍 할 수 있게 됩니다. ◆ if문 if문은 다음과 같이 사용합니다. if (조건) } // 조건이 만족할때 실행할 코드 } if문 뒤의 조건이 '참' 일 경우, 바로 아래의 {}로 묶인 블럭 안의 내용을 실행하며, 조건이 '거짓' 일 경우 {} 로 묶인 블럭은 무시하고 다..
- Total
- Today
- Yesterday