본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 20편 동영상 보기 이번시간에는 프로그램 소스를 여러 파일로 분할하는 방법에 대해 알아보도록 하겠습니다. 1. 파일 경로의 표현 방법 C언어에서 특정한 곳에 존재하는 파일의 위치를 나타내는 방법은 크게 두가지가 있습니다. ◆ 절대 경로 절대 경로는 가장 상위의 경로부터 차례대로 파일의 위치까지를 써주는 방식입니다. 예를 들어봅시다. C:\Windows\System32\a.dll D:\Temp\image.jpg 위와 같이 우리가 흔히 사용하는 경로의 표현방법과 같습니다. 드라이브명부터 각각의 폴더명을 나열하고 마지막에 파일명이 위치하게 되며, 드라이브명, 폴더명, 파일명을 구분하기 위해..
이번에 마이크로소프트에서 비주얼 스튜디오 2017이 출시되었습니다. 사실 C언어 부분은 2015와 달라진 부분이 없기 때문에 앞으로의 강좌도 당분간은 2015로 하게 될 테지만, 혹시나 최신 비주얼 스튜디오를 설치하고자 하는 분들이 계실 것 같아서 설치 방법을 정리해보도록 하겠습니다. 앞에서 이야기했듯이 C언어 부분에 있어서는 안이나 겉이나 바뀐 부분이 없기 때문에 이미 비주얼 스튜디오 2015를 설치하신 분들은 굳이 설치하지 않으셔도 관계 없습니다. 1. Visual Studio 2017 Community 설치 마이크로소프트의 비주얼 스튜디오 웹사이트에 접속 합니다. https://www.visualstudio.com/ko/ 그러면 다음과 같은 화면을 보게 됩니다. 여기서는 위쪽의 '다운로드' 버튼을 ..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 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 소멸 이렇게 중괄호로 묶인 블럭 안에서 선언된 변수는 블럭의 끝, 그러니까 중괄호가 닫히는 부분에서 소멸하게 되는데 이런 변수를 '지역 변수' 라고 ..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 17편 동영상 보기 이번시간에는 C언어 프로그램의 실행 단위인 '함수'에 대해 알아보도록 하겠습니다. 1. 함수의 선언과 구성요소 '함수'란 일종의 작은 프로그램 단위 입니다. 우리가 지금까지 사용해온 printf()나 scanf()등도 C언어에서 미리 만들어 제공한 함수입니다. 심지어는 메인 함수 'main()' 도 프로그램이 실행될때 처음으로 실행하도록 약속된 함수입니다. 이처럼 '함수'는 특정한 기능을 하는 코드들을 묶어 하나의 명령어처럼 사용이 가능하게 해줍니다. 기본적으로 이미 만들어서 제공하는 printf() 같은 함수 이외에 우리가 새로운 함수를 만들 수도 있는데, 그 방..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 16편 동영상 보기 이번시간에는 이전에 알아봤던 문자열을 처리하는데 자주 쓰이는 문자열 함수의 사용법에 대해 알아보도록 하겠습니다. 1. 여러가지 문자열 선언 방법 간단하게 문자열을 담을 변수를 선언해 보겠습니다. char str[40] = "안녕하세요."; 가장 일반적으로 사용되는 char형 배열의 형태입니다. 초기값은 큰따음표 ""로 묶어서 주게 됩니다. char str[] = "안녕하세요."; 배열의 첨자를 생략하여 크기를 자동으로 할당받도록 한 형태입니다. 선언 이후 프로그래밍 중에 크기를 넘는 문자열을 복사하지 않게 주의해서 사용해야 합니다. 그럼 여러 문자열을 담을 배열을 ..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 15편 동영상 보기 이번시간에는 임의의 메모리 공간을 가져다 쓰는 '메모리 할당'에 대해 알아보도록 하겠습니다. 1. 메모리 할당 메모리 할당이란 어떤 메모리 공간을 임의로 사용할 수 있도록 주는 것입니다. int a = 0; 위 변수의 선언은 a라는 변수가 임의의 메모리 공간을 int형 만큼 할당을 받아 거기에 0을 넣었다는 의미로 해석할 수 있습니다. 이런 식으로 알게 모르게 우리는 메모리를 할당 받아 사용해왔던 것입니다. 메모리 할당에는 '정적 메모리 할당'과 '동적 메모리 할당'이 있으며, 차례대로 알아보도록 하겠습니다. ◆ 정적 메모리 할당 위의 예의 int형 변수 a는 처음..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 14편 동영상 보기 이번시간에는 지난시간에 이어, 여러가지 포인터의 사용법에 대해 알아보도록 하겠습니다. 내용이 조금 어려울 수 있으므로 한 단락씩 나눠서 보시는 것도 좋을 것 같습니다. 1. 다중 포인터 지금까지는 포인터를 선언할때 '*'를 한개만 썼는데 이것을 여러개 써줄 수 있습니다. 두개를 쓰는 것을 '이중 포인터' 혹은 '더블 포인터' 라고 하며, 이는 포인터의 주소를 가리킵니다. int a = 1; int *p1 = &a; int **p2 = &p1; 위와 같은 식입니다. 아래 그림을 봅시다. int형 변수 a는 0x01번지를 시작주소로 가지고 있으며, 그 주소에는 1이라는..
비주얼 스튜디오 2015 (커뮤니티 버젼 포함) 는 기본적으로는 현재 윈도우의 국가 설정에 맞게 언어가 설정되어 설치가 됩니다. 하지만 개발 환경을 영어로 설정하고 싶다거나, 설치가 애초에 영어로 된 경우 이것을 변경하고 싶을때가 있을 텐데요. 그럴때는 다음과 같이 언어 설정을 변경 해줄 수 있습니다. 비주얼 스튜디오 2015를 실행시킨 후 메뉴에서 '도구' → '옵션' 을 선택합니다. 선택하면 다음과 같은 옵션 창이 뜨는데, 여기서 '환경' → '국가별 설정'을 고르면, 오른쪽에 아래와 같이 언어설정을 바꿀 수 있습니다. 영어인 상태에서는 'International Settings' 라는걸 찾으시면 됩니다. 저는 '한국어'로 되어 있는 것을 '영어' 로 바꿔볼텐데요. '영어'는 목록에 뜨지 않는군요. ..
본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 13편 동영상 보기 이번시간에는 메모리의 주소를 다루는 포인터에 대해 알아보도록 하겠습니다.. 1. 메모리 주소 포인터를 알아보기에 앞서, 우리가 지금까지 사용한 변수들은 어떤 식으로 메모리에 저장이 되는가에 대해 알아보도록 하겠습니다. 다음과 같은 변수가 있다고 합시다. int a = 1; int형 a라는 변수를 1로 초기값을 주었습니다. 이것이 메모리에 저장될때는 현재 사용 가능한 메모리 공간의 특정 '주소'에 int형의 크기인 4바이트 만큼 윈도우, 리눅스 등 해당 운영체제에서 공간을 할당받고, 여기에 '값'인 1을 저장하게 됩니다. 그림을 그려보면 이런 식입니다. 각각 바이트단..
- Total
- Today
- Yesterday