Software Engineering Blog

컴퓨터공학부 3학년 재학 중인 학생입니다. 백엔드를 주로 공부하며 금융 분야에 관심이 많습니다.

C언어/기초 7

아스키코드표 ASCII Table

아스키코드 중 자주 사용되는 부분은 식별이 쉽도록 푸른색으로 표시해 두었습니다. 푸른색으로 표시해 둔 부분은 외울 수 있다면 외워두는 편이 좋습니다. 상당히 사용할 일이 많기 때문이죠. 예를 들어 숫자 3이 있을 때, 이 숫자 3을 숫자 3이 아닌 문자 3으로 저장하고 싶을 때 51로 저장을 해두면 %c형식으로 읽을 때 문자 3으로 읽게 됩니다. Like this. int num = 3; char three; three = num; printf("%c", num); three = num + 48; printf("%c", num); 문자 변수에 3을 넣고 출력하면 문자 3이 아닌 아스키코드 3에 해당하는 ETX를 부릅니다. 그다음 줄처럼 num+48(숫자에 48을 추가해 주면 해당 숫자 아스키 값이 구해짐..

C언어/기초 2023.05.18

[C++] 함수 재정의와 오버라이딩란 무엇인가?

먼저 많은 글들을 살펴본 결과 C++는 오버라이딩에 대한 잘못된 설명이 인터넷에 돌아다니는 듯합니다. 그래서 제가 한방에 정리를 할 예정입니다. 먼저 기본적으로 이 정리 내용을 보기 전에 업캐스팅의 개념에 대해서는 잡혀있어야 됩니다. 먼저 함수 재정의부터 살펴보겠습니다. 함수 재정의 함수 재정의란 파생 클래스에서 기본 클래스와 동일한 형식의 함수를 작성하는 것입니다. *여기서 동일한 형식이란 리턴 타입, 함수 이름, 매개 변수 타입 및 개수 등 전부 동일한 형식을 의미합니다. 이렇게 재정의된 함수는 기본 클래스의 포인터로 접근 시 기본 클래스의 함수가 호출되고, 파생 클래스의 포인터로 접근시 파생클래스의 함수가 호출됩니다. 즉, 이미 호출할 함수는 해당 포인터의 형태의 클래스에서 부르기 때문에 컴파일 시..

C언어/기초 2023.05.15

<C언어 기초> 구조체 선언 방법과 사용 방법

안녕하세요! 오늘은 새로운 내용인 구조체를 가져왔는데요. 다른 언어보다 C언어가 절차형 언어의 특성을 많이 가지고 있기 때문에 구조체가 정말 많이 사용되며 C언어 안에서 한몫을 하고 있답니다. 오늘도 시원하게 구조체 한번 배우러 가봅시다!!! ​ 지금까지 우리가 배운 변수나 배열들은 각자의 역할이 존재했습니다. 서로 관계가 없었기에 구조체도 필요가 없었죠 하지만 프로젝트가 점점 커지고 내용이 많아질수록 서로 관련 있는 변수와 배열들이 생기기도 한답니다. 다음의 예시를 보도록 하시죠 ​ 우리는 학급 석차를 매기기 위해서 다음과 같은 변수와 배열들이 필요합니다. ​ char name[10] char class[5] int korea_grade int english_grade int math_grade ​ 만..

C언어/기초 2021.01.13

<C언어 기초> 배열, 구조체, 그리고 포인터란?

안녕하세요. c언어로 자료구조! 알고리즘문제를 풀려면 배열, 구조체, 포인터가 되게 중요하다고 저는 생각합니다. 물론 이 세가지를 자신의 것으로 만들기 위해서 많이 보고, 쓰는 것도 중요하지만 이 개념을 확실히 머리에 각인 시켜야 됩니다. 이 글은 책 c언어로 쉽게 풀어쓴 자료구조를 참고했습니다. ​ 개인적으로 따로따로 쓰면 쉽지만 이 세가지를 혼합해서 쓰는게 어려운거 같습니다 ㅠㅠ ​ 1.배열 영어로 array라고 하는 배열은 거의 모든 프로그래밍 언어에서 제공되는 자료형입니다. 배열은 동일한 타입의 데이터를 한 번에 여려 개 만들 때 사용됩니다. int a, b, c, d, e; //배열 미사용으로 5개의 변수를 만들었다 int a[5]; //배열 사용 연속적인 메모리 공간이 할당되고 인덱스 번호로 ..

C언어/기초 2021.01.12

<C언어 기초> Visual studio exe 실행 과정

앞서 'C언어 기초 2강' 에서는 C언어가 어떠한 과정을 거쳐서 실행(.exe)되는지 알아 보았습니다. 이번 'C언어 기초 3강' 에서는 앞서 설명한 과정을 실습을 통해 알아 보도록 하겠습니다. 우선 저는 Microsoft Visual C++ 6.0 을 사용하고 있습니다.(컴퓨터에 6.0이 설치되어 있는 관계로^^;) 여러분들은 Visual Studio 2008 ,2010 아무거나 사용하셔도 무방합니다. 처음 실행을 시키시고 File -> New 를 클릭해줍니다. 클릭하시면 아래와 같은 창이 나오는데요. Project 탭 에서 Win32 Cosole Application 을 클릭 하시고 프로젝트의 이름을 정해주신다음 저장하실 위치를 지정해 주시면 됩니다. 그리고 밑줄을 못그었는데요.. Create new..

C언어/기초 2021.01.11

[C언어 기초] 변수란 무엇인가?

안녕하세요. 공돌이 준형입니다. 변수(variable)란 간단히 말해 데이터를 저장하는 임시 공간, 즉 메모리 공간입니다. 우리가 어떤 값(데이터)을 저장하기 위해 사용하는 공간이죠. 변수는 일단 기본적으로 정수형 변수와 실수형 변수로 나뉩니다. 정수형 변수에는 대표적으로 char, short, int, long 형 변수가 있습니다. 실수형 변수에는 float, double, long double 등이 있죠. 왜 이렇게 종류가 많냐면 각각 바이트 수가 다르고 바이트 수가 다르다는 것은 저장될 수 있는 데이터의 범위가 다르다는 것입니다. 정수형 변수부터 보면 1바이트 = 8비트이고 표현 범위는 -2^n ~ 2^n + 1입니다. (n은 비트수) 구분 크기 표현 범위 char 1바이트 -128 ~ 127 sh..

C언어/기초 2021.01.07

<C언어 기초편> 1장 - scanf() 함수와 printf() 함수

안녕하세요. 공돌이 준형입니다. 이번 시간은 제가 배웠던 C언어 지식을 여러분들에게 하나도 빠짐없이 공유해주는 시간 중 첫 번째 시간입니다. scanf() 함수와 printf() 함수에 대해 자세히 알려드리겠습니다. 먼저 이 두개를 배우기 전에 알고가야할 것이 있습니다. scanf와 printf는 사용자의 입력을 받는 함수와 화면에 출력을 하는 함수입니다. 하지만 사용자의 입력을 받아 데이터를 저장해두고 글자를 화면에 출력하는 과정이 필요하겠죠? scanf와 printf만 단독으로 사용한다면 분명 오류가 발생할겁니다. 왜냐하면 scanf와 printf의 정의는 stdio.h 라는 헤더파일에 존재하기 때문이죠 그렇기 때문에 우리는 scanf와 printf를 사용하기 전에 먼저 두 함수가 정의되어 있는 헤더..

C언어/기초 2021.01.06