Re: 63.8 문자열 매개 변수
, 도장_ 관리자님이 작성문의한 코드는 실행 오류가 발생합니다.
https://glot.io/snippets/faaj2470pw
Run 버튼을 클릭해서 확인하세요.
char는 문자 하나이고, char*은 문자열입니다.
Visual Studio에서는 다음과 같은 경고 메시지가 발생합니다.
'함수': 'char'의 간접 참조 수준이 'char *'과(와) 다릅니다.
warning C4024: 'compareString': 형식 및 실제 매개 변수 1의 형식이 서로 다릅니다.
컴파일은 되지만, 실행하면 결과는 출력되지 않습니다.
컴파일러 구현체에 동작할 수도 있지만, 이는 잘못된 동작입니다.
문자 1개를 써야 할 곳에 문자 2개 이상의 문자열을 쓰는 동작은 메모리 할당 범위를 초과해서 쓰는 것이므로 결국 액세스 위반입니다. 이는 프로그램 중단, 보안 문제 등을 일으킵니다.