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

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

만약 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)

이렇게 하면 안된다.

728x90

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

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

    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Branch
    yolo
    이진 트리
    루빅보드
    c언어
    rubikpi3
    스택
    commit
    매개변수 포인터
    가상 주소 공간
    Batch OS
    피보나치
    자료구조
    Git
    C++
    커널
    파일 입출력
    소수
    파이썬
    그래서 컴퓨터는 어떻게 동작하나요?
    동적메모리
    rubik pi 3
    동적 배열 스택
    백준
    포인터
    원형 덱 구현
    버퍼
    커밋 아이디
    순환
    INIT
  • 최근 댓글

  • 최근 글

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

티스토리툴바