본문 바로가기
C언어/포인터

[C언어] 배열포인터 vs 포인터배열

by bigpicture 2022. 7. 7.
반응형

포인터 배열은 포인터 역할을 하는 배열을 말합니다. 원소로 변수의 주소를 가질 수 있습니다. 예시는 아래와 같습니다. 

 

#include <stdio.h>

int main ()
{
    int num1=1;
    int num2=2;
    
    int * parr[2]={&num1,&num2};
    
}


배열 포인터는 배열 이름을 가리키는 포인터입니다. 배열 이름은 곧 배열의 주소이므로, 배열 주소를 가리키는 포인터입니다. 1차원 배열의 경우 일반 포인터 정의방법과 같습니다. 

#include <stdio.h>

int main ()
{
    int ar[3]={1,2,3};

    int *par;
    par=ar;

}


2차원 이상의 배열의 경우 포인터에 1을 더할 때 몇칸씩 이동할지 정해줘야 하므로 아래와 같이 정의하고, 이를 포인터배열이라고 부릅니다. 

#include <stdio.h>

int main ()
{
    int ar[3][2];

    int (*par)[2]; //포인터배열
    par=ar;

}






반응형

댓글