C언어의 포인터 설명 (배열 접근)

이 포스트에서는 C언어에서 포인터로 배열에 접근하는 방법을 설명합니다. 우선 다음 코드를 봅시다. 다음 코드는 2020년 정보처리기사 실기시험 문제로 출제된 바 있는 C언어 코드입니다. #include <stdio.h> int main() { char *p = “KOREA”; printf(“%s\n”, p); printf(“%s\n”, p+3); printf(“%c\n”, *p); printf(“%c\n”, *(p+3)); printf(“%c\n”, *p+2); } 이 코드는 다음과 같이 실행됩니다. KOREA EA K E M 이렇게 나오는 … 더 보기 “C언어의 포인터 설명 (배열 접근)”

C++의 변수 입력 예제

C++의 Hello, world! 예제 편에서 iostream 라이브러리를 통해 오리지널 C언어의 printf() 함수를 대신해서 std::cout 객체를 사용해 콘솔에 텍스트를 출력하는 방법을 알아보았습니다. 여기서는 iostream 라이브러리를 통해 입력받은 값을 변수에 대입하는 방법을 알아보기로 합니다. 먼저, 오리지널 C언어로 된 다음 코드를 봅시다. #include <stdio.h> struct Profile { char name[20]; int age; }; int main() { struct Profile pr; … 더 보기 “C++의 변수 입력 예제”

C++의 Hello, world! 예제

C++의 Hello, world! 문구를 출력하는 프로그램 예제입니다. 먼저, 오리지널 C언어에서 Hello, world! 문구를 출력하는 프로그램의 소스를 보겠습니다. #include <stdio.h> int main() { printf(“Hello, world!\n”); return 0; } 이 소스코드는 C++에서도 실행이 가능합니다. 또한, C++에서는 라이브러리를 <cstdio>로 써도 <stdio.h>로 쓴 것과 같습니다. C++에서는 이 stdio.h 라이브러리와 거의 같은 기능을 하는 라이브러리로 iostream이 있습니다. 속도는 다소 느려지지만, … 더 보기 “C++의 Hello, world! 예제”

C언어에서 콘솔의 키 입력 받기 (윈도우즈)

이 포스트에서는 C언어에서 콘솔의 키 입력을 처리하는 방법을 설명합니다. 참고: 이 방법은 윈도우에서만 가능한 방법입니다. 여기에 사용된 <conio.h> 라이브러리는 윈도우만 지원하는 비표준 라이브러리입니다. 따라서 리눅스에서는 다른 방법으로 구현해야 합니다. 윈도우의 경우는 GUI 기반 프로그램이 주류이고 TUI는 옛 DOS 시절의 프로그램이나 리눅스 등에서 주로 볼 수 있습니다. 하지만 윈도우에서도 명령 프롬프트 창을 기반으로 돌아가는 TUI 프로그램이 … 더 보기 “C언어에서 콘솔의 키 입력 받기 (윈도우즈)”

C언어로 만든 간단한 가위바위보 게임

C언어로 만든 간단한 가위바위보 게임 소스입니다. 포트폴리오를 전시하기 위한 프로젝트의 일환으로, 워밍업 차원에서 C언어 콘솔 게임을 간단하게 만들어 본 것입니다. 게임을 세팅, 진행, 종료의 세 부분으로 나눠서 각 부분에 함수를 하나씩 선언하였고, 게임 진행에 필요한 변수는 구조체 형태로 선언한 후 포인터를 이용해 각 게임 함수를 넘나들며 해당 변수에 접근할 수 있도록 하였습니다. 게임 방법은 먼저 … 더 보기 “C언어로 만든 간단한 가위바위보 게임”

C언어에서 배열로 문자열 다루기

C언어에서 배열로 문자열을 다루는 방법을 설명합니다. C언어는 자바나 파이썬 등과는 다르게 문자열(string) 자료형이 따로 존재하지 않습니다. 그 대신 문자(char) 자료형이 있어서 문자의 배열로 문자열을 이루게 됩니다. C++에서는 string 클래스가 있어서 문자열을 편리하게 다룰 수 있지만, 오리지널 C에서는 문자의 배열 형태로 다루게 됩니다. 다음 코드를 봅시다. #include <stdio.h> int main() { char gfriend[6][6] = { “Sowon”, … 더 보기 “C언어에서 배열로 문자열 다루기”

C언어 헤더 사용하기

이 포스트에서는 C언어에서 헤더를 사용하는 방법에 대해서 포스팅합니다. 일단, 다음 코드를 봅시다. #include <stdio.h> int sum(int a, int b) { return a + b; } int main() { printf(“1 + 2 = %d\n”, sum(1, 2) ); return 0; } 함수를 정의하고 출력에 사용한 간단한 예입니다. 실제로 이와 같이 선언하는 함수는 메인 함수보다 앞에 와야 합니다. … 더 보기 “C언어 헤더 사용하기”

C언어의 포인터에 대한 간단한 설명

이 포스트에서는 C언어에 사용되는 포인터에 대한 간단한 설명을 서술합니다. C언어 프로그래밍을 강력하게 만들어주어 ‘C언어의 꽃’이라고도 불리고, 또 여기서 어려움을 느껴 포기하는 초심자들도 많은 것으로 알려져 있는데, 간단히 설명하면 어떤 값을 가리키기 위한 형식을 말합니다. 어느 프로그래밍 언어나 다 마찬가지겠지만 변수를 선언하면 그 값은 메모리에 저장이 됩니다. 우리가 사는 집이나 직장, 학교 등의 건물을 보면 번지수가 … 더 보기 “C언어의 포인터에 대한 간단한 설명”

C언어에서 int main()을 쓰는 이유, 무엇인가?

C언어를 입문하면 아마도 대부분은 다음과 같은 코드를 가장 먼저 접할 것입니다. #include <stdio.h> int main() { printf(“Hello, world!\n”); return 0; } 익히 아시다시피 화면에 Hello, world!라는 문구를 출력하는 프로그램입니다. 그런데 말입니다. 코드 구조를 보면 프로그램의 시작과 함께 호출되는, 메인이 되는 함수가 정수형(int)으로 선언되어 있고, 종료시 0이라는 값을 반환하는 것을 볼 수 있습니다. 아마 이를 처음 … 더 보기 “C언어에서 int main()을 쓰는 이유, 무엇인가?”

리눅스용 CLS 다운로드

리눅스에서 작동하는 CLS 명령을 C언어로 작성하였습니다. 윈도우즈 명령 프롬프트에서는 cls 명령어를 치면 콘솔 화면이 전부 청소됩니다. 리눅스에도 이에 대응하는 명령어로 clear가 있지만, 스크롤이 가능한 터미널 환경에서는 보여지는 화면보다 위에 있는 줄이 지워지지 않는 문제가 있습니다. 여기서는 스크롤되는 윗줄까지 전부 지우는 cls 명령을 만듭니다. 코드는 다음과 같습니다. (2018년 7월 5일 수정) #include <stdio.h> int main() { … 더 보기 “리눅스용 CLS 다운로드”