Skip to content

함수에서 매개변수를 배열로 명시하여 사용하는 것에 대한 질문입니다. #22

@jms-50

Description

@jms-50
void g(char a[]){ 
    char n[] = {3,4,5};
    a = n;
    printf("g: %d\n",*a);
}

int main(){
    char a[] = {5};
    g(a);
}

이렇게 코드를 작성하여 테스트 해본 결과 함수 g의 매개변수인 char a[] 가 예상했던 char * const 가 아닌 char * 처럼 a의 주소에 n의 주소가 잘 저장됩니다.
저의 생각으로는 함수의 매개변수로 [] 를 사용하면 컴파일러가 * const 가 아닌 * 로 변환하는거 같습니다.
이에 대해서 제가 맞게 이해한 것인지 궁금합니다.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions