C/C++ 컴파일러는 왜 a[1]을 인자로 받는 함수에 b[4]를 넣어도 에러를 안 내나요?
조회수 1019회
소스코드
#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"로 지정하는 건 무슨 의미가 있는 거죠?
댓글 입력