본문 바로가기

C언어18

C 언어 9일차 : 구조체 오늘은 구조체에 대해서 알아보겠습니다. 구조체란 다양한 데이터 타입의 변수를 하나의 이름을 묶어주는 것 입니다. 구조체의 선언 방식입니다. 예시를 보겠습니다. 예시입니다. st라는 이름을 가진 구조체를 선언헀습니다. 이 안에는 int형 변수 a와 float형 변수 b, char형 변수 c, char형 배열 d 가 있습니다. struct st 데이터 형은 int, float, char, 5개의 인덱스를 가진 문자형 배열의 데이터 값들을 합친 값이 됩니다. 4 + 4 + 1 + (1 * 5) = 14byte 예제를 보겠습니다. struct test { int a; float b; char c; char d[5]; }; struct test t1; //t1이라는 구조체 변수 선언 t1.a = 10; t1.b .. 2022. 12. 30.
C 언어 8일차 : 파일 입출력과 함수의 개념 파일 입출력에 관해서 알아보겠습니다. 여태까지 저희는 코드를 이용해서 화면으로 출력만 해보았습니다. 이번에는 파일에서 읽어보고 파일에 출력을 해보겠습니다. 파일 입출력의 간단한 순서입니다. 파일 포인터를 선언한 후에 위와 같은 방식으로 fopen() 함수를 사용해 열 파일의 경로와 모드를 파일 포인터에 넣어줍니다. 파일 입출력에 관련된 함수들입니다. 파일 입력 함수는 말 그대로 파일에 입력한 값을 넣어주는 함수입니다. 파일 출력 함수는 파일에 있는 문자열을 화면에 출력시켜주는 함수입니다. fgets의 사용방법입니다. 간단한 예제를 하나 보겠습니다. char str[20]; //19자리까지 입력 가능(null자리) FILE* rfp; rfp = fopen("c://test//data1.txt", "r");.. 2022. 12. 29.
C 언어 7일차 : 동적 메모리 할당과 2차원 배열 동적 메모리 할당에 대해서 알아보겠습니다. 우선 정수형 배열을 하나 선언해보겠습니다. int a[4]; 4개의 인덱스를 가진 정수형 배열 a를 선언했습니다. a는 아무런 값을 입력받지 못했지만, 정수형 4개의 인덱스, 즉 12byte의 메모리를 할당받아 사용하고 있습니다. 이런 것을 정적메모리라고 부릅니다. 정적 메모리는 그 안에 값이 있던 없던간에 같음 메모리를 사용합니다. 또한, 할당받은 메모리 외에 추가할게 생기더라도 불가능합니다. 이런 단점을 보완하기 위해 사용하는 것이 동적 메모리 할당입니다. 유동적으로 메모리를 할당해주어 낭비되는 메모리를 없애는 것 입니다. 정적 메모리 : C언어가 메모리를 확보 동적 메모리 : 사용자가 메모리를 확보 간단한 차이가 되겠습니다. 추가로 동적메모리는 사용후에 할.. 2022. 12. 28.
C 언어 6일차 : 배열을 이용한 문자열, 배열과 관련된 함수, gets와 scanf의 차이 배열을 이용한 문자열에 대해서 알아보겠습니다. C언어는 문자열 데이터형이 없습니다. 따라서 문자형 배열을 선언해서 문자열 형식을 구성합니다. abc 라는 문자열을 만들려고 하면, char name[4] = { 'a', 'b', 'c', '\0' }; 일반적인 배열이라 한다면 이런 식으로 선언을 하게 됩니다. 마지막의 인덱스로 들어가는 \0 (null) 이 들어가게 됩니다. 이유는 문자열의 끝났다는 것을 컴퓨터에게 알려주기 위함입니다. 따라서 문자열을 사용할 때에는 \0 (null) 이 들어갈 자리까지 인덱스 값을 하나 늘려서 선언해야 합니다. 또다른 문자열 만드는 방법으로는 char name[4] = "abc"; 이 있습니다. 이는 \0 (null) 값을 넣어줄 필요(컴퓨터가 알아서 해줌)가 없기 때문에.. 2022. 12. 27.
C 언어 5일차 : 배열의 주소와 포인터 지난 시간에 이어서 이번에는 배열의 주소해 대해 알아보겠습니다. int num[3] = {10, 20, 30}; 3개의 인덱스(구성요소)를 가지는 배열 num을 선언했습니다. 이 배열의 주소를 그림으로 나타내면 위와 같은 형식이 될 것입니다. 여기서 배열 num의 인덱스 값인 10, 20, 30의 메모리도 표현해보면 num안에 인덱스 순서대로 메모리가 할당됩니다. 그림의 표 1칸은 1byte를 나타내며, 정수형 변수 3개를 저장하는 배열이기 때문에 배열 num의 크기는 12byte입니다. 배열 num의 첫번째 인덱스는 num[0]으로 표기하는데 이유는 첫번째가 컴퓨터에서는 1이 아닌 0이기 때문입니다. 다음은 표로 본 내용을 소스로 확인해보겠습니다. int main(void) { int num[3] = .. 2022. 12. 24.
C 언어 2일차 : 변수의 선언, 대입/산술 연산자, scanf() 앞으로 코딩을 하기 위해서는 변수의 선언은 필수적인 요소 입니다. 변수의 선언에 대해 알아보겠습니다. 변수의 선언에 앞서 변수의 자료형에 대해서 알아보겠습니다. 변수의 자료형 (data Type) 은 크게 4종류로 나뉘겠습니다. 정수형 byte, short, int, long, long long 실수형 float, double, long double 문자형 char 문자열 정수형은 byte, short, int, long, long long 실수형은 float, double, long double 문자형은 char 가 존재합니다. 나뉘는 기준은 용량이 되겠습니다. byte > 1바이트 short > 2바이트 int > 4바이트 long > 4바이트 long long > 8바이트 이상 float > 4바이.. 2022. 12. 21.
C 언어 1일차 : 헤더 파일의 정의와 printf 이번 시간에는 기본적인 소스코드의 입력에 대해서 알아보겠습니다. #include 소스 파일을 만들게 되면 가장 처음으로는 위와 같이 #include 를 입력하실 겁니다. 여기서 #은 전처리 지시자로 # 다음에 오는 명령을 처리하는 역할을 수행합니다. 다음으로 오는 include 는 포함한다는 뜻으로 include 뒤에 오는 헤더 파일을 해당 소스 파일에 포함시키는 역할을 합니다. 에서 .h 는 header file 을 뜻하며 c에서 제공하는 헤더 파일, 사용자가 정의하는 헤더파일 두 종류가 있습니다. c에서 제공하는 헤더파일은 을 사용하며 사용자가 정의한 헤더파일은 " "을 사용합니다. stdio.h 헤더 파일은 standard input output 의 약자로써 기본적인 입출력을 담당하는 헤더파일입니다.. 2022. 12. 20.
C 언어 시작 : 비주얼 스튜디오 간단 사용법 C 언어 카테고리에 처음 들어갈 글은 비주얼 스튜디오의 기본적인 사용 방법 입니다. 저도 처음 비주얼 스튜디오를 사용할 당시에 헤맸던 기억이 있어서 공유해봅니다. 비주얼 스튜디오를 처음 실행했을 시의 화면입니다. 우선 코딩을 진행할 프로젝트가 필요함으로 우측의 새 프로젝트 만들기를 클릭해줍니다. 새 프로젝트 만들기를 클릭 한 후의 화면입니다. 우선 가장 기본적인 프로젝트를 만들기 위해서는 우측 상단에 있는 빈 프로젝트를 클릭합니다. 프로젝트의 이름을 설정하고, 위치는 굳이 건들지 않으셔도 되지만 따로 설정해주셔도 됩니다. 솔루션 이름은 따로 설정해주실거면 설정해줍시다. 프로젝트를 만들면 위와 같은 화면이 나옵니다. 코딩을 할 소스 파일이 필요하므로 좌측에 보이는 소스 파일 란에 우클릭을 해줍니다. 추가 .. 2022. 12. 20.