본문 바로가기

분류 전체보기221

c언어 연결 리스트 생성 방법에 대하여 알아보기 c언어 연결 리스트 생성 방법에 대하여 알아보기 네 안녕하세요, 이번 포스팅에서는 연결 리스트를 직접 생성해서 알아보는 시간을 가져보도록 하겠습니다. 이전 포스팅에서는 연결 리스트가 무엇인지 알아보는 시간을 가졌다면, 이번 포스팅에서는 직접 사용을 할 것입니다. 그럼 지금부터 시작하도록 하겠습니다. 1. 자기 참조 구조체 연결 리스트를 구현하려면 자기 참조 구조체라는 것을 알아야 합니다. 자기 참조 구조체는 일반 구조체와는 다른 조금은 특별한 구조체인데, 구조체를 구성하는 멤버들 중에 같은 타입의 구조체를 가리키는 포인터가 존재하는 구조체를 말합니다. 자기 참조 구조체는 이렇게 생겼습니다. struct NODE { int data; struct NODE *link; // 구조체 자기 자신을 가리킬 수 있.. 2023. 2. 27.
c언어 연결 리스트에 대하여 알아보기 c언어 연결 리스트에 대하여 알아보기 네 안녕하세요, 이번 포스팅에서는 연결 리스트에 대하여 알아보도록 하겠습니다. 연결 리스트 역시 c언어 프로그래밍을 할 때 빼놓을 수 없는 요소입니다. 그만큼 중요한 역할을 하기 때문에 잘 알아두셔야 나중에 잘 쓸 수가 있습니다. 그럼 지금부터 시작하도록 하겠습니다. 1. 연결 리스트란? 우리는 지금까지 대량의 데이터를 저장하는 데에는 주로 배열을 이용했었습니다. 그렇지만 배열은 구현이 간단하다는 장점이 있지만, 단점으로는 데이터를 받을 수 있는 크기가 고정이 된다는 것입니다. 그래서 추가적인 데이터를 넣고 싶은데 공간이 없다면 문제가 발생합니다. 물론 더 큰 배열을 만들어서 배열 속에 있는 데이터들을 전부 복사하여 옮기는 것도 방법이지만, 이 방법은 cpu를 혹사시.. 2023. 2. 27.
c언어 calloc()과 realloc()에 대하여 알아보기 c언어 calloc()과 realloc()에 대하여 알아보기 네 안녕하세요, 이번 포스팅에서는 calloc()과 realloc()에 대하여 알아보도록 하겠습니다. calloc()과 realloc()도 상황에 따라서 쓰이는데, 종종 쓰이는 동적 메모리 할당 명령어이기 때문에 알아두셔야 합니다. 그럼 지금부터 시작해 보도록 하겠습니다. 1. calloc() calloc()은 0으로 초기화된 동적 메모리를 할당합니다. 보통 초기화가 된 메모리 블록을 얻고자 할 때 씁니다. 사용 방법은 이렇습니다. int *p; p = (int *)calloc(5, sizeof(int)); 이런 식으로 쓰게 되면 동적 메모리가 할당이 된 공간만큼 초기화가 된 메모리를 할당합니다. 여기서는 제가 5라고 적어뒀는데, 5 바이트 만.. 2023. 2. 27.
c언어 동적 메모리 사용하는 기본 예제 풀어보기(정수를 저장할 수 있는 동적 메모리 생성하기, 성적 처리 프로그램 작성하기, 동적 메모리에 구조체를 저장할 수 있는 공간 할당 받기) c언어 동적 메모리 사용하는 기본 예제 풀어보기(정수를 저장할 수 있는 동적 메모리 생성하기, 성적 처리 프로그램 작성하기, 동적 메모리에 구조체를 저장할 수 있는 공간 할당받기) 네 안녕하세요, 이번 포스팅에서는 동적 메모리를 이용한 기본적인 예제를 한 번 작성해 보도록 하겠습니다. 동적 메모리가 c언어에서 정말 많이 쓰이는 부분인걸 감안하여 따로 예제를 작성하는 부분을 만들기로 했습니다. 그럼 모두들 열심히 연습하셔서 좋은 정보 많이 얻어가시길 바라겠습니다. 그럼 지금부터 시작하도록 하겠습니다. 1. 정수를 저장할 수 있는 동적 메모리 생성하기 제일 먼저 해볼 건 정수를 저장할 수 있는 동적 메모리를 생성하는 것입니다. 동적 메모리를 사용하기 위해서는 할당 및 생성이 기본이기 때문에 잘 알아야 합니다.. 2023. 2. 27.