본문 바로가기

C언어6

C 언어 메모리 동적 할당, 구조체, 파일 입출력 1.  메모리 동적 할당 동적 할당 함수동적 메모리 할당은 프로그램 실행 중에 메모리를 필요할 때 할당하고, 사용이 끝나면 해제하는 것을 말한다.malloc 함수는 지정된 크기의 메모리를 힙 영역에 할당하며, 성공하면 해당 메모리의 시작 주소를 반환한다.할당된 메모리를 다 사용하면 free 함수를 사용하여 반드시 해제해야 한다.#include int main() { int *p = (int *)malloc(sizeof(int) * 5); // 정수 5개에 해당하는 메모리 할당 if (p == NULL) { printf("메모리 할당 실패\n"); return 1; } for (int i = 0; i malloc을 통해 할당받은 메모리는 배열처럼 인덱스를 통.. 2024. 11. 20.
C 언어 변수, 다차원 배열, 응용 포인터 정리 1.  변수의 영역과 데이터 공유 변수 사용 영역지역 변수는 함수나 블록 내에서 선언되고 사용되는 변수로, 해당 블록이 종료되면 메모리에서 사라진다.지역 변수는 함수나 코드 블록 내에서만 접근할 수 있어 데이터의 가시성을 제한하는 데 유용하다.void example() { int localVar = 10; // 지역 변수 printf("지역 변수: %d\n", localVar);}지역 변수는 {}로 감싸진 블록 안에서만 유효하다.중첩된 블록에서 동일한 이름의 변수를 선언하면 블록 안의 변수가 우선적으로 사용된다.void nestedBlockExample() { int num = 5; { int num = 10; // 중첩된 블록 내의 지역 변수 print.. 2024. 11. 19.
C 언어 배열, 포인터, 문자열 활용 심화 1. 배열과 포인터 배열과 포인터의 관계배열명은 배열의 첫 번째 요소의 주소를 의미한다.배열명을 사용해 배열 요소에 접근할 수 있으며, 배열명은 포인터와 유사하게 동작하지만 변경이 불가능하다.int numbers[5] = {1, 2, 3, 4, 5};int *p = numbers; // numbers는 배열의 첫 번째 요소의 주소printf("첫 번째 요소: %d\n", *p); // 출력: 1배열명은 배열의 첫 번째 요소의 주소로 취급되며, 포인터로 동작할 수 있다.따라서 포인터 연산을 통해 배열의 각 요소에 접근할 수 있다.for (int i = 0; i 배열명은 배열의 시작 주소를 나타내며, 포인터처럼 사용될 수 있지만 변경할 수 없는 상수이다.반면에 포인터 변수는 다른 주소를 저장할 수 있는 .. 2024. 11. 19.
C 언어 함수, 배열, 포인터 사용법과 예제 1. 함수 함수의 작성과 사용함수는 반복적으로 사용하는 코드를 묶어놓은 블록이다.C 언어에서 함수는 반환형, 함수 이름, 매개변수로 구성된다.함수 정의를 통해 프로그램의 특정 기능을 캡슐화하고 코드의 재사용성을 높일 수 있다.int add(int a, int b) { return a + b;}위 코드는 int 타입의 값을 반환하는 add라는 함수로, 두 개의 정수를 더한 결과를 반환한다.정의된 함수는 함수 이름(매개변수) 형식으로 호출한다. 함수가 호출되면 함수의 실행이 시작되며, return 키워드를 통해 결괏값을 반환한다.int result = add(3, 4); // result는 7이 됨함수 정의는 보통 main() 함수 아래에 위치하는데, 이 경우 컴파일러가 이를 미리 알 수 있도록 함수.. 2024. 11. 18.