포인터를 안쓰고 함수 인자로 배열을 넘길 수 있을까요?


발생하는 문제 및 실행환경

int a[5][5];
int* a[5];
int** a;

배열을 인자로 받을 때는 저 3개중 하나를 골라서 통일시켜 줘야 되는데 포인터를 안 쓰고 배열을 넘길 수 있는 방법 없을까요?

  • 2016년 02월 01일에 작성됨

조회수 261


1 답변


좋아요
0
싫어요
채택취소하기

배열 자체로 넘길 수는 없고 멤버가 배열로만 돼 있는 구조체를 쓰면 할 수 있습니다.


typedef struct {
    unsigned long array[MAX];
}ABC;

ABC foo(ABC myinput){
    myinput.array[0] = 1;

    //...
    return myinput;
}

이렇게 하면 구조체를 address가 아닌 value로 넘길 수 있고, 함수에서 value로 return받을 수 있습니다

  • 2016년 02월 01일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close