2차원 배열 포인터 형으로 함수 인자로 전달하기

2023. 2. 12. 14:23·C프로그래밍/개인 공부

만약 2차원 배열을 함수의 인자로 전달해서(포인터 형식으로),

그 2차원 배열을 정렬한다고 가정해보자.


void sort(int (*arr)[5], int n)
{
    int i = 0;
    int j = 0;
    int least;
    int temp;

    for(i = 0; i < 4; i++){
        least = i;
        for(j = i + 1; j < 5; j++){
            if(arr[n][least] > arr[n][j])
                least = j;
        }

        temp = arr[n][i];
        arr[n][i] = arr[n][least];
        arr[n][least] = temp;
    }
}

2차원 배열을 포인터 형식으로 받고, n번째의 행을 정렬하는 함수다.

 

여기서 봐야할 부분은

void sort(int (*arr)[5], int n)

이다.

int (*arr)[5] 이부분 이다.

이것은 배열을 가리키는 포인터로, "int형의 [5]열짜리 배열을 가리키는 포인터를 파라미터로 사용하겠다."라는 뜻이다.

 

void sort(int *arr, int n)

이렇게 하면 안된다.

'C프로그래밍 > 개인 공부' 카테고리의 다른 글

arm맥북에서 x64dbg사용하기  (0) 2025.09.17
함수에서 인자를 포인터로 받으면 무조건 원본 변경이 될까?  (0) 2023.05.17
C언어 - 함수의 포인터  (0) 2023.01.07
C언어 - 포인터의 배열, 배열의 포인터  (0) 2023.01.05
C언어 - 이중 포인터  (0) 2023.01.03
'C프로그래밍/개인 공부' 카테고리의 다른 글
  • arm맥북에서 x64dbg사용하기
  • 함수에서 인자를 포인터로 받으면 무조건 원본 변경이 될까?
  • C언어 - 함수의 포인터
  • C언어 - 포인터의 배열, 배열의 포인터
Jminu
Jminu
  • Jminu
    뇌 구조가 바이너리
    Jminu
  • 전체
    오늘
    어제
    • 분류 전체보기
      • C프로그래밍
        • 오류해결
        • 개인 공부
        • Programming Lab(학교수업)
        • MemoryTracker
      • C++
        • 개인 공부
      • 자료구조(Data Structure)
      • ARM arch
        • Cortex-M
        • FreeRTOS
      • 컴퓨터 공학(Computer Science)
        • OS
        • 컴퓨터 구조
      • Qualcomm 기업과제
      • Linux
      • Web
      • 똥글
      • 백준
      • Git 학습
        • 오류해결
        • 학습중
      • Python
        • 오류해결
        • 개인 공부
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Git
    commit
    C++
    스택
    rubikpi3
    Qualcomm
    동적메모리
    리눅스
    소수
    INIT
    파일 입출력
    피보나치
    이진 트리
    앤드류모튼
    yolo
    자료구조
    백준
    c언어
    드라이버 분석
    Branch
    arm
    파이썬
    커널
    포인터
    커널 기여
    토발즈
    순환
    rubik pi
    시스템콜
    버퍼
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Jminu
2차원 배열 포인터 형으로 함수 인자로 전달하기
상단으로

티스토리툴바