C/C++ 컴파일러는 왜 a[1]을 인자로 받는 함수에 b[4]를 넣어도 에러를 안 내나요?

조회수 683회

소스코드

#include<iostream>
using namespace std;
int dis(char a[1])
{
    int length = strlen(a);
    char c = a[2];
    return length;
}
int main()
{
    char b[4] = "abc";
    int c = dis(b);
    cout << c;
    return 0;
}

여기서 int dis(char a[1])에 1은 아무런 일을 안 해주는 것 같아서 질문드립니다.

함수를 실제로 쓸 때는 배열 길이가 4여도 상관없고 5여도 상관없는 것 같은데 그럼 컴파일러 입장에서 "1"로 지정하는 건 무슨 의미가 있는 거죠?

1 답변

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.