본문 바로가기

IT/c언어69

C언어 2차원 배열 C언어에서 2차원 배열은 배열들의 배열로 정의될 수 있습니다. 2차원 배열은 행(row)과 열(column)의 모음으로 행렬(matrix)과 같이 구성됩니다. 2차원 배열의 구조와 선언 방법 아래는 2차원 배열의 구조와 선언 방법을 보여주는 예제입니다. int matrix[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; 위의 예제에서는 matrix라는 이름의 2차원 배열을 선언하고 초기화합니다. 이 배열은 3개의 행과 4개의 열로 구성되며, 각 요소는 중괄호로 둘러싸인 초기값으로 초기화됩니다. 예제와 설명 위의 예제를 실행하면 다음과 같은 2차원 배열이 생성됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 이 2차원 배열은 3개의 행과 4개의 .. 2023. 7. 14.
C 언어 if 문 C 언어에서 if 문은 조건에 따라 실행 흐름을 제어하는 데 사용되는 구문입니다. if 문은 주어진 조건식이 참인 경우에만 특정한 코드 블록을 실행합니다. 조건식이 거짓인 경우에는 해당 코드 블록을 건너뛰고 다음 코드로 진행합니다. if 문의 구조와 사용법 아래는 if 문의 구조와 사용법을 보여주는 예제입니다. #include int main() { int num = 10; if (num > 0) { printf("양수입니다.\n"); } return 0; } 위의 예제에서는 num이라는 변수를 선언하고 초기값을 10으로 설정합니다. if 문을 사용하여 num이 0보다 큰지를 확인하고, 조건식이 참인 경우에는 "양수입니다."라는 메시지를 출력합니다. 실행 결과와 설명 위의 예제를 실행하면 다음과 같은 결.. 2023. 7. 13.
C 언어에서 참조에 의한 호출 (Call by Reference) C 언어에서 함수를 호출할 때 인수(argument)를 전달하는 방식 중 하나인 "참조에 의한 호출"에 대해 알아보겠습니다. 참조에 의한 호출은 함수에 인수의 메모리 주소를 전달하여 함수 내에서 해당 주소에 저장된 값을 직접 변경하는 방식입니다. 이를 통해 함수 내에서 변경된 값은 함수 외부에서도 유지되며, 변수의 원본 값에 영향을 주는 특징이 있습니다. 참조에 의한 호출의 예제 아래의 예제를 통해 참조에 의한 호출을 이해해보겠습니다. #include void increment(int *num) { (*num)++; } int main() { int number = 10; printf("함수 호출 전의 값: %d\n", number); increment(&number); printf("함수 호출 후의 값.. 2023. 7. 13.
C 언어에서 값에 의한 호출 (Call by Value) C 언어에서 함수를 호출할 때 인수(argument)를 전달하는 방식 중 하나인 "값에 의한 호출"에 대해 알아보겠습니다. 값에 의한 호출은 함수에 인수를 전달할 때, 인수의 값을 복사하여 함수의 매개변수(parameter)에 전달하는 방식입니다. 이렇게 전달된 매개변수는 함수 내에서 사용되는 동안에만 유효하며, 함수 외부에서의 변경은 함수에 영향을 주지 않습니다. 값에 의한 호출의 예제 아래의 예제를 통해 값에 의한 호출을 이해해보겠습니다. #include void increment(int num) { num++; printf("함수 내에서의 값: %d\n", num); } int main() { int number = 10; printf("함수 호출 전의 값: %d\n", number); increm.. 2023. 7. 13.
C 언어에서 배열을 함수의 인수로 전달하는 방법 C 언어에서 배열을 함수에 전달하는 방법은 배열의 이름을 함수의 매개변수로 사용하는 것입니다. 배열의 이름은 배열의 첫 번째 요소의 주소를 나타내므로, 이를 활용하여 함수에 배열을 전달할 수 있습니다. 배열 전달의 예제 아래의 예제를 통해 배열을 함수에 전달하는 방법을 이해해보겠습니다. #include void printArray(int arr[], int size) { for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } printf("\n"); } int main() { int numbers[] = {1, 2, 3, 4, 5}; int size = sizeof(numbers) / sizeof(numbers[0]); printArray(numbers, .. 2023. 7. 13.
C 언어 포인터 배열 포인터 배열은 배열의 각 요소가 포인터로 구성된 배열을 말합니다. 즉, 배열의 각 요소는 주소를 저장하고 있는 포인터입니다. 포인터 배열은 다차원 배열을 표현하거나, 여러 개의 문자열을 저장하는 등 다양한 용도로 사용됩니다. 포인터 배열의 선언과 초기화 포인터 배열을 선언하고 초기화하는 방법은 다음과 같습니다. int* arr[5]; // 포인터 배열 선언 위의 예제에서 int*은 int형식의 포인터를 의미하며, arr은 포인터 배열을 나타냅니다. 이렇게 선언된 포인터 배열은 5개의 포인터 요소를 가지고 있습니다. 포인터 배열의 요소는 각각 포인터 변수이므로, 각 요소에는 주소를 할당할 수 있습니다. 예를 들어, 다음과 같이 포인터 배열의 각 요소에 메모리 주소를 할당할 수 있습니다. int num1 =.. 2023. 7. 12.
C 언어 포인터 상수 포인터 상수란 포인터 변수의 값이 변경되지 않는 상수를 말합니다. 즉, 한 번 포인터 변수에 할당된 메모리 주소는 변경할 수 없으며, 다른 변수나 상수의 주소를 가리킬 수 없습니다. 포인터 상수는 주로 프로그램에서 고정된 주소를 가리키는 데 사용됩니다. 포인터 상수의 선언과 초기화 포인터 상수를 선언하고 초기화하는 방법은 다음과 같습니다. const int* ptr; // 값을 변경할 수 없는 포인터 int* const ptr; // 주소를 변경할 수 없는 포인터 const int* const ptr; // 값을 변경할 수 없고 주소도 변경할 수 없는 포인터 위의 예제에서 const 키워드는 변수를 상수로 선언함을 나타냅니다. 첫 번째 선언은 포인터 변수를 통해 가리키는 값 자체를 변경할 수 없게 합니다.. 2023. 7. 12.
C 언어 포인터 산술 연산 포인터 산술 연산은 C 언어에서 포인터 변수에 대해 수행할 수 있는 유효한 산술 연산의 집합입니다. 포인터 변수는 메모리 주소를 저장하며, 이러한 주소에 대해 산술 연산을 수행할 수 있습니다. 포인터 산술 연산은 주소에 대한 증가, 감소, 덧셈, 뺄셈 및 비교 연산을 포함합니다. 포인터 산술 연산의 동작 주소 증가 및 감소: 포인터 변수는 메모리 주소를 가리키므로, 포인터에 정수 값을 더하거나 뺄셈을 수행하여 주소를 증가시키거나 감소시킬 수 있습니다. 이렇게 주소를 조작함으로써 다음 또는 이전 메모리 위치를 가리킬 수 있습니다. 포인터 간 덧셈 및 뺄셈: 포인터 변수 간의 덧셈 또는 뺄셈을 수행할 수 있습니다. 이 경우 포인터 간의 거리를 계산하여 해당 거리만큼 이동한 주소를 가리키는 새로운 포인터를 생.. 2023. 7. 12.