초보

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 25 [공용체와 열거형(union, enum)]

제 25강) 공용체와 열거형 오늘은 공용체(union)와 열거형(enum)에 대해서 알아보도록 합니다. 1) 공용체(union) 공용체의 사용법 자체는 구조체(struct)와 비슷합니다만 한 가지 다른 점이 있습니다. // 사용법 union 공용체_이름 { 자료형 변수이름; 자료형 변수이름; ... }; // 예) union Person { char* name; int age; char sex; }; 구조체 처럼 선언을 하고 사용하게 됩니다만 위에서 언급한대로 한 가지 다른 점이 있습니다. 바로 공용체는 내부의 자료들이 메모리를 공유한다는 것이지요. #include struct STRUCT1 { double d_num; int i_num; char ch; } union UNION1 { double d_n..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 22 [다차원배열2 - 다차원배열과 포인터, 이중 포인터, 다중 포인터]

제 22강) 다차원배열2 - 다차원배열과 포인터 오늘은 다차원배열의 두번째 시간으로 다차원배열과 포인터의 관계에 대해서 알아봅니다. 다시 한번 되짚어 보자면 다차원배열은 2차원 이상의 배열을 다차원이라고 합니다. 1) 다차원 배열 다음과 같은 2차원배열이 있다고 합시다. int arr[2][2]; 여기서 "arr"는 2차원배열로 선언된 배열의 이름이자 배열의 첫번째 원소의 주소(번지)를 나타냅니다. (1차원배열에서와 같습니다.) #include int main() { int arr[2][2]; printf("arr = %u\n", arr); printf("arr[0] = %u\n", arr[0]); return 0; } 그래서 번지수가 똑같습니다. (그러므로 arr은 &arr[0]과 같습니다.) 여기까지..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 21 [다차원배열1 - 다차원배열의 기본(2차원, 3차원)]

제 21강) 다차원배열1 - 다차원배열의 기본 오늘은 다차원배열의 첫 시간으로 다차원배열의 기본에 대해서 알아봅니다. 다차원배열은 2차원 이상의 배열을 다차원이라고 합니다. 1) 다차원 배열이란 일반적인 배열은 이렇게 1차원적인 배열을 뜻합니다. (가로로만, 혹은 세로로만, x로만) 여기서 더 나아가서 다차원배열은 1차원을 넘어서는 배열을 뜻합니다. (가로와 세로, x와 y) 위의 배열은 대표적인 2차원배열입니다. 세로로3, 가로로7인 배열이죠. 2) 2차원배열 가장 많이 쓰이는 배열은 1차원배열입니다. 그리고 그 다음으로 쓰이는 배열은 2차원배열입니다. 즉, int arr[3][2]로 선언된 2차원배열은 [0][0], [0][1], [1][0], [1][1], [2][0], [2][1] 총 3x2 2차..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 17 [포인터]

제 17강) 포인터(Pointer) 오늘은 정말 정말 정말 정말 정말 정말 정말 정말 정말 정말 정말 정말 중요한 시간입니다. 바로 포인터에 대해서 배우는 시간이기 때문이죠. 1) 공포의 대상, 포인터 C언어에서 가장 공포스럽다고 느껴지는 대상인 포인터입니다. 포인터란? (출처 : 위키백과) 포인터는 다른 변수, 혹은 그 변수의 메모리 공간주소를 가리키는 변수를 말한다. 이때 포인터가 가리키는 값을 가져오는 것을 역참조(Dereferencing)라고 한다. 위의 설명은 "위키페디아"에 나온 설명입니다. 사실 정말 잘 설명되어있습니다. 하지만 이게 무슨 말인가 라고 하시는 분들이 많으시겠죠. 우리는 "4강 변수"에서 변수에 대해서 배울때 다음과 같이 배웠습니다. 변수는 "어떤 데이터를 저장하는 메모리 공간..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 19 [문자열]

제 19강) 문자열 17강과 18강에서 우리는 포인터와 배열을 배웠습니다. 이제 우리는 문자열을 배울 차례입니다. 1) 문자열 문자열은 "문자(기호)를 모아놓은 것"을 뜻합니다. C언어에서 문자열을 표현하는 방법은 2가지가 존재합니다. char str[] = "Back In Time"; // char 배열을 이용한 문자열 표현 char* str = "Back In Time"; // char 포인터를 이용한 문자열 표현 2) char 배열을 사용한 문자열 일반적으로 문자열을 저장할 때 char 배열을 이용하여 문자열을 저장합니다. #include int main() { char str[30] = {0,}; // 문자열의 최대 길이는 30 printf("문자열 입력: "); scanf("%[^\n]s", s..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 18 [배열과 포인터]

제 18강) 배열과 포인터 오늘은 배열을 배우고 포인터를 한 번 더 배웁니다. 포인터와 배열은 일심동체이기 때문이죠. 1) 변수의 집합, 배열 배열은 변수의 집합입니다. int num1, num2, num3; 이렇게 변수 3개를 따로따로 선언했던 것을 int arr[3]; 배열은 한 번에 선언을 가능케 합니다. 자료형 배열이름[배열의_크기]; 자료형 배열이름[배열의_크기] = { 초기값 }; 배열은 위와 같이 변수처럼 선언을 하지만 중괄호 사이에 배열의 크기를 지정하게 됩니다. int arr[3]; int arr[3] = { 1, 2, 3 }; 이렇게 사용이 가능케 됩니다. 이렇게 배열을 선언하게 되면 "배열의 크기"만큼 변수가 선언되지만 그 시작은 0부터 입니다. int arr[3]; // -> arr..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 20 [함수 포인터]

제 20강) 함수 포인터 오늘은 함수 포인터에 대해서 알아봅니다. 상당히 어렵다면 어려울 수 있는 부분이라 여러번 읽어보셔야 할겁니다. 1) 함수 포인터란 포인터는 포인터인데 함수를 가리키는 포인터를 뜻합니다. int num = 5; int* ptr = # int arr[] = { 1, 2, 3 }; int* ptrArr = arr; 변수나 배열을 포인터로 연결할때는 위와 같이 사용했습니다. 자료형 (*포인터_함수명)(함수의_인자...) = 연결할_함수; // 예1) int addFunc(int num1, int num2) { return num1 + num2; } // 위의 addFunc함수에 연결하는 포인터 int (*addFuncPointer)(int, int) = addFunc; // 예2) vo..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 14 [반복문1 - For]

제 14강) 반복문1 - for문 반복문의 첫번째 시간입니다. 바로 "for문"에 대해서 배울겁니다. (for문과 for 루프는 같은 말입니다만, 저는 제가 많이 써왔던 for 루프 라고 표현하겠습니다.) 1) 반복문 반복문은 말 그대로 "반복하는 문장"입니다. 하지만 무턱대고 반복하면 안되겠죠? 즉, 컴퓨터에서 반복문은 "특정한 조건에 부합하면 해당 스코프 내의 내용을 반복한다" 라는 뜻을 가졌습니다. 스코프(Scope) 컴퓨터 언어에서 "유효범위"라는 뜻으로 사용되는 것으로, 해당하는 문장 혹은 객체, 변수등이 유효한 범위를 뜻합니다. (범위는 { }로 흔히 나타냅니다.) int main(void) { int num1; ... } void func() { int num2; ... } 위의 소스에서 n..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 09 [주석과 상수]

제 9강) 주석과 상수 사실 주석은 이전 시간 강의들에서 계속해서 사용해왔습니다. #include int main(void) { int num = 3; // num이라는 int형 변수를 생성하여 3이라는 값으로 초기화 printf("Hello World!!! \n"); // printf 함수를 사용 printf("num = %d \n", num); // printf 함수를 사용하여 num 출력 return 0 ; // 프로그램 종료 } 위의 예제는 3강의 예제입니다. 여기서 주석은 "//"로 시작하는 것을 주석이라고 합니다. 이걸 VS에서 작성하게 되면 초록색으로 주석을 처리하는 것을 볼 수 있습니다. 그래서 주석이란? 사전에서는 위와 같이 풀이를 합니다. 그런데 프로그래밍 언어에서 주석은 "코드를 짤 ..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 16 [함수]

제 16강) 함수 오늘은 정말 정말 중요한 시간입니다. 바로 함수에 대해서 배우는 시간이기 때문이죠. 함수란? (출처 : C Primer Plus) 함수(Function)는 어떤 특정 업무를 처리하도록 설계된 프로그램 코드를 자체 내에 포함하고 있는 하나의 프로그램 단위이다. 함수란? (출처 : 위키백과) 함수(Function)는 대부분의 프로그래밍 언어에서 지원하는 기능으로, 하나의 큰 프로그램을 여러 부분으로 나누어준다. 즉, C언어에서는 프로그램 단위라고 생각하시면 됩니다. 1) 메인 함수(int main) 이제 드디어 메인 함수를 설명하는 날이 왔습니다. int main(void) { printf("Hello World! \n"); return 0; } 우리가 즐겨쓰던 main함수 입니다. 자료형..

Eskeptor
'초보' 태그의 글 목록 (2 Page)