본문 바로가기

C & C++

C/C++ 기초 - 열거체 ( Enumeration ), 공용체 ( Union ) 열거체 #include enum Number { One = 1, Two, Three, Four, Five, Six, Seven, Eight, Nine, Zero = 0 }; int main(void) { int a = One; int b = Eight; int c = Zero; printf("a : %d / b : %d / c : %d", a, b, c); // 결과 1, 8, 0 return 0; } '열거체'는 상수 값을 가지는 식별자입니다. 값이 정의되지 않으면 0부터 시작해서 1씩 증가하며 값이 정해지고, 값이 정의가 되었다면 정의된 값 이후부터 1씩 증가하게 됩니다. 예시에서 처음에 1로 정의하였기 때문에 1부터 9까지 증가하면서 값이 정의되었고, Zero에서 0을 정의하여 Zero는 0이 되었.. 더보기
C/C++ 기초 - 구조체 ( Struct ), 비트 필드 ( Bit field ) 구조체 #include struct My_struct { int a; int i; short b; char c; }; struct My_struct_2nd { int a : 5; int i : 3; short b : 7; char c : 4; }; int main(void) { struct My_struct s1; struct My_struct_2nd s2; s1.a = 10; s1.b = 23; s2.c = 'a'; printf("My_struct size : %d\n", sizeof(My_struct));// 결과 12 printf("My_struct_2nd size : %d", sizeof(My_struct_2nd));// 결과 8 return 0; } '구조체'는 여러 변수를 묶어서 하나의 자료형.. 더보기
C/C++ 기초 - 변수 ( Variable ) 변수 #include using namespace std; int main (void) { int a = 10; int b; b = 20; return 0; } 변수는 값을 저장하는 메모리 공간을 프로그래머가 사용하기 쉽게 나타낸 것입니다. 변수를 사용하기 위해서 선언과 정의가 이루어져야 하고 선언과 정의를 각각 나눠서 할 수도 있으며 값을 재정의 할 수도 있습니다. 선언 변수의 선언은 '자료형 변수명'입니다. 예시 코드에서 'int b;' 부분이 선언입니다. int라는 자료형 변수 b를 만들겠다고 선언한 것입니다. 정의 변수의 정의는 '변수명 = 값'입니다. 예시 코드에서 'b = 20;'이 정의 부분입니다. b라는 변수에다 20이라는 값을 넣어주겠다는 의미입니다. 선언 및 정의 C/C++ 대부분의 상.. 더보기
C/C++ 기초 - 함수 ( Function ) 함수 #include using namespace std; int sum(const int& a, const int& b) { return a + b; } void function(int a, int b) { printf("함수가 호출되었습니다.\n매개 변수의 합은 %d입니다.", sum(a, b)); // sum 함수 종료 후 -> printf("함수가 호출되었습니다.\n매개 변수의 합은 %d입니다.", 30); } int main(void) { int left = 10; int right = 20; function(left, right); // 출력 결과 함수가 호출되었습니다.\n매개 변수의 합은 30입니다. return 0; } '함수'는 간단하게 설명하자면 특정 기능을 수행하는 코드 모음입니다. .. 더보기
C/C++ 기초 - 포인터 ( Pointer ) 포인터 #include using namespace std; int main(void) { int a = 10; int* b = &a; int** c = &b; printf("변수 a의 메모리 주소 : %p\n", &a); printf("포인터 변수 b의 값 : %p\n", b); printf("포인터 변수 c의 참조 값 : %p\n\n", *c); // 세 출력 값은 모두 같다. printf("변수 a의 값 : %d\n", a); printf("포인터 변수 b의 참조 값 : %d\n", *b); printf("포인터 변수 c의 이중 참조 값 : %d\n", **c); // 세 출력 값은 모두 같다. return 0; } '포인터'는 '메모리 주소를 저장하는 자료형'입니다. 모든 자료형에 애스터리스크 (.. 더보기
C/C++ 기초 - 배열 ( Array ) 배열 #include using namespace std; int main(void) { int a[10] = { 0,1,2,3,4,5,6,7,8,9 }; int b[2][3] = { {1, 2, 3}, {4, 5, 6} }; a[0] = 10; *(a + 9) = 15; cout 더보기
C/C++ 기초 - 문 (Statement) 조건문 ( Conditional statement ) 조건문은 갈림길이 생겨서 들어오는 조건에 따라 코드의 흐름을 제어할 수 있습니다. 조건문은 크게 if문과 switch문으로 나눌 수 있습니다. if 문 if문은 프로그래밍을 할 때 엄청나게 중요하며 자주 사용됩니다. 기본적으로 if 문의 조건으로 들어온 값이 true인지 false인지에 따라 특정 코드를 동작시킬 것인지 결정하게 됩니다. if문은 else와 함께 사용되기도 하는데, if의 사용법을 4가지로 구분하여 설명하겠습니다. int main() { if (10 < 20) { // 조건이 true일 경우 여기에 해당된다. } if (10 < 20) ;// 조건이 true일 경우 여기에 해당된다. } if만 사용하는 경우 if의 옆 소괄호에 들어오는.. 더보기
C/C++ 기초 - 연산자 ( Operator ) 연산자 ( Operator ) '연산자'는 값을 바꾸기 위해 사용합니다. 크게 3가지 종류로 '단항 연산자', '이항 연산자', '삼항 연산자'로 나눌 수 있습니다. '단항 연산자'는 연산의 대상이 되는 '피연산자'가 1개인 경우를 뜻합니다. '이항 연산자'는 '피연산자'가 2개, '삼항 연산자'는 3개입니다. 부호 연산자 #include using namespace std; int main(void) { char c = 'A'; cout 더보기