컴퓨터 언어/C 15

[C] C언어 9일차 파일 입출력

안녕하세요. 훈츠 입니다. 금일은 파일 입출력에 대해 알아보도록 하겠습니다. C, C++ 동일하게 사용된다고 하니 이번기회에 잘 정리해 놓으면 편할듯 싶네요. 파일 입출력 종류 공통점 : 0과 1로 저장된 이진 데이터 차이점 : 저장하는 방식과 읽는 방식 텍스트 파일 입출력 아스키 코드 값으로 저장 되는 파일 이진 파일 입출력 binary 파일 파일 입출력 함수 파일 형식과 상관없이 공용으로 사용하는 함수 FILE *open( const char *filename, const char *mode ); int fclose( FILE *stream ); int feof( FILE *stream ); int fscanf( FILE *s, const char *format, argument... ); int f..

컴퓨터 언어/C 2020.03.18

[C] C언어 8일차 분할 컴파일

안녕하세요. 훈츠 입니다. 분할 컴파일에 대해 정리해 보도록 하겠습니다. 지금 까지 main.c 파일 내에서 실습을 해왔는데요. 구조적 프로그램을 구성하기 위해서는 기능과 용도에 맞게 프로그램을 분리하고 만드는 작업이 필요합니다. 이때 필요한 것이 바로 분할 컴파일 개념 입니다. 분할 컴파일 여러 변수와 함수를 기능별로 구분하여 외부 파일에 저장한 후에 필요에 따라 main()에서 호출하여 컴파일 하는 방법 입니다. 파일 추가 .c 함수 및 변수 헤더 파일 추가 .h 함수의 원형 선언 #include "xx.h" 전역 변수를 외부에서 사용 하는법

컴퓨터 언어/C 2020.03.17

[C] C언어 8일차 기타 문법2 (지역, 전역, 정적 변수 사용 범위)

안녕하세요. 훈츠 입니다. 지역 변수, 전역 변수, 정적 변수에 대해서 정리해 보도록 하겠습니다. 변수의 사용 범위 구분 선언 범위 구분(사용 가능) 생성 시기 소멸 시기 지역 변수 함수 안 함수 안 함수 호출 함수 종료 전역 변수 함수 밖 프로젝트 전체 Prog. 실행 Prog. 종료 정적 변수 함수 안,밖 선언된 함수안 or 해당 file 함수 or Prog Prog. 종료 지역 변수 (local variable) 함수 안에서 선언 하고, 함수 안에서만 사용 가능 합니다. 함수 호출시 생성되고, 함수 종료시 소멸됩니다. 초기값 : 이전 메모리에 남아 있던 임의의 값으로 초기화 전역 변수 (globla variable) 함수 밖에 선언 후, 프로젝트 전체에서 사용 가능 합니다. 프로그램 실행시 생성되고..

컴퓨터 언어/C 2020.03.17

[C] C언어 8일차 기타 문법1 (enum, goto, label, union, 전처리기 지시문)

안녕하세요. 훈츠 입니다. 드디어 앞으로 한번만 더 정리하면 C언어 문법을 마무리 하게 되었습니다. 사전 지식이 있어서 그런지 생각보다 빠르고 쉽게 정리 할수있었네요. ㅎㅎ 기타 문법에 대해 정리해 보도록 하겠습니다. enum 열거형 역활 : 문자열이 정수형 상수를 대신 하도록 한다. 형식 enum 태그 { 문자열1, 문자열2, ...}; : 초기값이 없으면 0부터 1씩 증가한 값으로 설정 됩니다. enum 태그 { 문자열1 = 초기값, 문자열2, ...}; : 초기값이 있으면 설정값 부터 1씩 증가한 값으로 설정 됩니다. ex) enum COUNT { ZERO, ONE, TWO }; enum COUNT Count; printf("%d ", Count = TWO }; #include #include #i..

컴퓨터 언어/C 2020.03.17

[C] C언어 7일차 구조체와 TypeDef

안녕하세요. 훈츠 입니다. 이번 시간에는 구조체를 정의 해보려고 합니다. 구조체 개념 : 사용자가 정의 하는 데이터 형식 구성 : 필드 또는 멤버인 변수로 구성. 단, void 형은 사용할 수 없다. 멤버 접근 연산자 변수 선언인 경우 ('.' dot 사용) Point.x = 10; Point.y = 20; 포인터 선언인 경우 ('->' 사용) pPoint->x = 10;, pPoint->y = 20; 다양한 구조체 변수 선언(일반변수와 동일하게 사용 및 선언) struct POINT Point; struct POINT *pPoint; struct POINT PointXY[3]; 등 #include #include #include #include #include struct POINT { int x; i..

컴퓨터 언어/C 2020.03.16

[C] C언어 7일차 포인터2

안녕하세요. 훈츠 입니다. 포인터 정복을 해보려고 합니다. 천천히 보시죠. 포인터의 종류와 의미 포인터 (*****) , int *pPtr; : int형 메모리 주소를 저장하는 변수 선언 포인터 배열 (****) , int*pPtr[3]; : 3개의 열을 가진 배열의 메모리 주소를 저장하는 배열 선언 void 포인터 (****) , void *pPtr; : 모든 데이터형의 주소를 저장하는 변수 선언 사용할때는 반드시 형 변환 (type casting)을 해야 한다. 이중 포인터 (**) , int **pPtr; : int *형 메모리 주소를 저장 하는 변수 선언 함수 포인터 (**) , (*function)(int) : 함수의 메모리 주소를 저장하는 변수 선언 배열 포인터 (*), int (*pPtr)[..

컴퓨터 언어/C 2020.03.16

[C] C언어 6일차 포인터

안녕하세요. 훈츠 입니다. 이번 시간에는 포인터에 대해 정리 해보려고 합니다. 어렵게 느껴졌는데 차근차근 정리 해보니 정리가 되네요. 같이 한번 보시죠. 포인터 메모리 에서 데이터를 읽어오는 방법 메모리 주소 -> 데이터 위치 메모리의 주소와 데이터 타입을 알면, 데이터를 읽거나 저장 할 수있다. 포인터의 역활 : 임의의 메모리에 접근하여 값을 저장하거나 읽는 역활 포인터 변수 : 메모리 주소를 저장 하는 변수 일반 변수와 포인터 변수의 공통점과 차이점 공통점 차이점 일반 변수 값 저장 상수 저장 포인터 변수 값 저장 메모리 주소 저장 '*' 참조 연산자 아스트리크 선언된 변수가 포인터 변수임을 나태내는 역활 ex) int *pVar; == int* pVar; 포인터 변수에 저장된 메모리 주소로 접근한 ..

컴퓨터 언어/C 2020.03.15

[C] C언어 5일차 배열

안녕하세요. 훈츠 입니다. 이번 시간에는 1차원 , 2차원, 3차원(다차원) 배열에 대해 정리해 보도록 하겠습니다. 배열 (Array) 데이터형과 변수명이 같은 변수의 집합 배열 형식과 선언 데이터형 배열명[ 열의 갯수 ] ; 두가지 초기화 방법 선언과 동시 초기화 인덱스를 이용한 초기화 memset 표준 함수를 이용한 초기화 : 0 , -1로 만 초기화 가능 //1. 선언과 초기화 동시지정 //배열의 갯수를 지정 int array[3] = {1,2,3} //값을 초기화 int array[3] = {0,} //이후의 값은 모두 0으로 초기화 //배열의 갯수를 컴파일러가 판단하도록 지정하지 않는법 int array[] = {1,2,3} //값을 초기화 int array[] = {0,} //이후의 값은 모두..

컴퓨터 언어/C 2020.03.14

[C] C언어 4일차 함수

안녕하세요. 훈츠 입니다. 오늘은 함수에 대해 정리 해보도록 하겠습니다. 함수 정의 특정한 작업을 수행하도록 제작된 독립적인 코드 ( 코드 덩어리 + 이름 ) = 함수 처리가 시작되는 메모리 주소를 의미 코드의 재사용이 가능하며, 전체 구조를 파악하기 쉽다. Init() : 초기화에 관한 코드 Update() : 업데이트에 관한 코드 Release() : 메모리 해제에 관한 코드 제공 함수 (표준 함수) MSDN 라이브러리 확인해보면, 포함해야하는 헤더 및 사용용례를 확인가능합니다. https//docs.microsoft.com/ko-kr/cpp/c-language-reference?view=vs-2019 헤더 파일 포함 #include : 이미 설치 파일에 함수가 있을때 경로 지정법 #include "..

컴퓨터 언어/C 2020.03.13

[C] C언어 3일차 반복문과 분기문

안녕하세요. 훈츠 입니다. C언어 뿐만 아니라, 정말 많이 사용하는 반복문과 분기문에 대해서 정리 합니다. 렛츠 고우~ 반복문 (for , while, do while) for 무한 루프 for ( ; ; ) break 를 만나면 정지 while 무한 루프 while(1) break 를 만나면 정지 do while 최초 1회는 무조건 수행 //for 문 for(int i=0; i < 3; i++) { printf("for 문 %d", i); } //while 문 int i = 0; while(i < 3) { printf("for 문 %d", i++); } //do while 문 int i = 0; do{ printf("do while 문 %d", i++); }while(i < 3); 분기문 (if , s..

컴퓨터 언어/C 2020.03.12