1 minute read

다차원 배열과 포인터의 관계

  • 포인터 배열과 2차원 배열의 포인터 형의 차이에 대해 설명하라

    포인터 배열의 포인터 형은 배열의 요소가 포인터이고 배열 이름도 포인터라 더블 포인터이지만 2차원 배열은 이름은 포인터이지만 배열 요소가 포인터가 아니기 때문에 더블 포인트가 아니다

  • 2치원 배열에서 배열 이름과 배열이름[0] 의 차이에 대해 sizeof 와 함께 설명하라

    배열 이름과 배열이름[index] 는 둘 다 배열 첫 요소의 메모리 주소를 반환하지만, 배열 이름은 해당 배열의 전체를 뜻하며 sizeof 시 배열의 전체 사이즈(세로 X 가로 X 자료형 사이즈) 이다. 배열이름[0]은 해당 배열의 행을 뜻하며 sizeof 연산 시 각 행의 크기(가로 X 자료형 사이즈) 이다.

  • 2차원 배열에서 포인터 연산에 대해 설명하라

    증감연산 시 배열 연산의 특징을 가지지만 해당 배열의 가로의 길이만큼 증감한다.

  • 2차원 배열이름의 포인터 형에 대해 선언법과 함께 설명하라

    가리키는 대상, 자료형, 가로 길이에 결정되며 int *(변수명)[가로길이]; 로 선언한다.

  • 배열 포인터와 포인터 배열에 대해 설명하라

    배열 포인터는 배열의 포인터 변수이며 int *(변수명) [가로길이]; 로 선언한다. 포인터 배열은 포인터의 배열이며 int *변수명 [길이]; 형태를 한다. 소괄호 차이.

  • 2차원 배열을 함수의 인자로 전달하는 방법에 대해 설명하라

    매개변수에 배열 포인터 방식인 int *(변수명) [가로길이]; 로 선언하거나 int 변수명[][가로길이] 로 선언한다.

  • 2차원 배열의 가로길이 구하는 법에 대해 설명하라

    sizeof (arr) / sizeof (arr[0])

  • 2차원 배열의 arr[i] == *(arr + i) 를 설명하라

    배열의 증감 연산자 특징을 그대로 가져감. 해당 배열의 길이 만큼 증감됨.

Categories:

Updated: