정보처리기사필기 3

[C언어] 이중 포인터(Double Pointer) 정리

C언어에서 포인터도 어렵지만, 그 위에 포인터를 또 가리키는 이중 포인터(double pointer)는 진입 장벽이 훨씬 높습니다. 하지만 이중 포인터는 고급 C프로그래밍, 동적 메모리 할당, 다차원 배열 처리, 함수 포인터 제어 등에서 핵심 역할을 하므로 반드시 제대로 알고 넘어가야 합니다. 📌 이중 포인터란?이중 포인터는 말 그대로 포인터를 가리키는 포인터입니다.int a = 100;int *p = &a;int **pp = &p;a: 일반 변수p: a의 주소를 저장하는 포인터pp: p의 주소를 저장하는 이중 포인터이 관계를 메모리로 표현하면 다음과 같아요 [ a ] = 100 → 변수[ p ] = &a → 포인터[ pp ] = &p → 이중 포인터  📌..

C 2025.03.26

[C언어] 배열과 포인터의 관계

C언어를 배우다 보면 배열과 포인터가 비슷한 것처럼 느껴질 때가 많습니다. 실제로 이 둘은 밀접한 관련이 있지만, 동일한 개념은 아닙니다. 오늘은 그 차이와 관계를 정리해볼게요. 📌 배열이란?배열은 같은 자료형의 변수들을 연속된 메모리 공간에 저장하는 자료구조입니다.int arr[5] = {1, 2, 3, 4, 5};arr[0]은 배열의 첫 번째 요소메모리는 연속적으로 배치됨배열 이름 arr은 배열의 **시작 주소(= 첫 요소의 주소)**를 나타냄📌 포인터란?포인터는 메모리 주소를 저장하는 변수입니다.int a = 10;int *p = &a;p는 변수 a의 주소를 가짐*p는 p가 가리키는 주소에 있는 값을 의미함 (즉, a)📌 배열과 포인터는 어떻게 연결되어 있을까?int arr[3] = {10, ..

C 2025.03.26

[C언어] 포인터(Pointer) - 정보처리기사 실기 준비

정보처리기사 실기 준비하면서 C언어의 개념을 간단하게 잡기 위해 공부하고 있는데요. 자료구조나 연산자 등은 자바와 비슷한 맥락이기 때문에 저는 바로 포인터 개념부터 시작했습니다.C언어를 배우다 보면 가장 많이 헷갈리는 개념 중 하나가 바로 포인터(pointer)입니다. 하지만 포인터는 C언어의 핵심이자 강력한 기능이기 때문에 반드시 이해하고 넘어가야 합니다. 이 글에서는 포인터의 개념부터 활용까지 쉽게 설명해드릴게요. 📌 포인터란?포인터는 변수의 메모리 주소를 저장하는 변수입니다. 일반적인 변수는 값을 저장하지만, 포인터는 "어디에 저장되어 있는가"를 기억합니다.int a = 10; // 일반 변수int *p = &a; // 포인터 변수, a의 주소를 저장 *p는 p가 가리키는 ..

C 2025.03.25