본문 바로가기
공공일자리 공식취업지원 플랫폼 · work.or.kr
FAQ 고객센터 사이트맵 English 접속자 90
통합 검색

배열과 포인터의 관계 이해하기: C언어의 핵심 개념

profile_image
작성자 관리자메일보내기 이름으로 검색
댓글 0건 조회 2회 작성일 26-08-03 05:30

배열과 포인터의 관계 이해하기: C언어의 핵심 개념

✅ 오늘의 핵심 메시지

배열과 포인터는 “사실상 같은 개념”입니다. 주소 기반으로 데이터를 다루는 능력이 핵심입니다.

✅ 오늘의 목표

배열과 포인터의 관계 이해, 포인터로 배열 접근하기, 포인터 연산(pointer arithmetic) 이해하기.

???? 배열과 포인터 관계

int arr[3] = {10, 20, 30};

이때 arr == &arr[0]. 배열 이름 자체가 “첫 번째 요소의 주소”입니다.

???? 포인터로 배열 접근하기

#include <stdio.h>

int main() {
    int arr[3] = {10, 20, 30};
    int *p = arr;  // 배열 주소 저장
    printf("%d
", *p);      // 10
    printf("%d
", *(p+1));  // 20
    printf("%d
", *(p+2));  // 30
    return 0;
}

???? 핵심 개념

표현

의미

arr[i] - 배열 방식

*(p+i) - 포인터 방식

둘은 동일합니다.

???? 반복문 + 포인터

#include <stdio.h>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    int *p = arr;
    for (int i = 0; i < 5; i++) {
        printf("%d ", *(p + i));
    }
    return 0;
}

???? 포인터로 값 변경

#include <stdio.h>

int main() {
    int arr[3] = {10, 20, 30};
    int *p = arr;
    *(p + 1) = 99;  // arr[1] 변경
    printf("%d
", arr[1]);  // 99
    return 0;
}

???? 포인터 이동

#include <stdio.h>

int main() {
    int arr[3] = {10, 20, 30};
    int *p = arr;
    p++;  // 다음 요소로 이동
    printf("%d
", *p);  // 20
    return 0;
}

???? 포인터 연산 원리

p + 1은 단순히 1이 아니라 자료형 크기(int = 4바이트)만큼 이동, 자동 계산됩니다.

???? 배열을 함수로 처리 (포인터 기반)

#include <stdio.h>

void printArray(int *p, int size) {
    for (int i = 0; i < size; i++) {
        printf("%d ", *(p + i));
    }
}

int main() {
    int arr[4] = {5, 10, 15, 20};
    printArray(arr, 4);
    return 0;
}

???? 핵심 이해

함수에서 배열은 포인터로 처리됩니다. 결국 같은 개념입니다.

⚠️ 자주 하는 실수

❌ 포인터 범위 초과 *(p + 10) // 위험. 배열 크기 벗어나면 오류 발생.

???? 퀴즈

다음 코드의 결과는 무엇일까요?

int arr[3] = {1, 2, 3};
int *p = arr;
printf("%d", *(p + 2));

A) 1, B) 2, C) 3, D) 오류

정답은? C번 (3)

???? 오늘 정리

배열 이름은 주소입니다. 포인터로 배열 접근이 가능합니다. 포인터 연산으로 데이터 이동이 가능합니다.

???? 배열 + 포인터 = C언어 핵심 구조 완성

✏️ 오늘의 미션: 1️⃣ 포인터로 배열 전체를 출력해 보세요. 2️⃣ 포인터를 이용해 배열 값을 모두 2배로 바꿔 보세요. 3️⃣ 배열의 최대값을 포인터로 찾아보세요.

워크넷(공공일자리 · 취업지원)에서는 다양한 취업 정보를 제공합니다. 기업 광고를 통해 더 많은 기회를 만나보세요.

글제목

#C언어 #코딩 #프로그래밍 #배열 #포인터 #포인터연산 #코딩학원 #프로그래밍기초 #취업지원 #워크넷

배열과 포인터의 관계
배열과 포인터는 동일한 개념으로, 메모리 주소를 통해 데이터를 다룹니다.

등록된 댓글이 없습니다.