jack716
71
2019-02-24 11:02:19
2
283

c언어 질문이요


a를 출력해봤을때는 위치값인 숫자들이 나오는데요...

p에 &a를 넣는 것은 되는데..

왜 

p에 a를 넣는것은 안되나요 ?

궁금합니다...


#include<stdio.h>
void main()
{

    int a[2] = {1,2};
    int (*p)[2];
    p = &a;
    // p = a; 이렇게는 안됨.


    printf("%d \n", a); //위치값
    
}



0
  • 답변 2

  • jack716
    71
    2019-02-24 11:43:54

    cannot convert from 'int [2]' to 'int (*)[2]'

    에러를 안봤었네요...

    형이 다르다고 합니다..

    더 자세한 설명 해주실 수 있으면 댓글부탁드려요

  • houblesh
    13
    2019-02-24 14:40:05

    사용하신 int  (*p)[2]의 p는 배열의 크기가 2인 배열을 가리키는 배열 포인터입니다. 구글에 배열포인터와 관련된 키워드로 검색해 보시면 될 것 같습니다! 

    배열

    포인터 

    포인터 배열 

    배열 포인터 

  • 로그인을 하시면 답변 을 등록할 수 있습니다.