반응형
매개 변수 동작이 없는 C 함수
누가 다음 코드가 경고나 오류 없이 컴파일되는 이유를 설명해 줄 수 있습니까?
나는 컴파일러가 그 함수가 나에게 경고하기를 기대합니다.no_args
인수를 기대하지 않습니다.
하지만 코드는 기능을 컴파일하고 실행합니다.no_args
재귀적으로
static void has_args(int a, int b, int c) {
printf("has_args\n");
}
static void no_args() {
printf("no_args\n");
no_args(1, 2, 3);
}
void main() {
no_args();
}
C++에서,void no_args()
매개 변수를 사용하지 않고 아무것도 반환하지 않는 함수를 선언합니다.
주식회사,void no_args()
지정되지 않은(변수가 아닌) 수의 매개 변수를 사용하고 아무것도 반환하지 않는 함수를 선언합니다.따라서 모든 통화는 (프로토타입에 따라) C에서 유효합니다.
C에서 사용void no_args(void)
매개 변수를 사용하지 않고 반환하지 않는 함수를 선언합니다.
빈 인수 목록을 사용하여 함수를 선언하면 K&R(사전 프로토타입) 의미론이 호출되며 매개 변수 목록에 대해 아무것도 가정되지 않습니다. 이는 사전 ANSIC 코드가 여전히 컴파일되도록 하기 위함입니다.파라미터 리스트가 비어 있는 프로토타입 함수를 사용하려면(void)
대신에()
.
언급URL : https://stackoverflow.com/questions/5929711/c-function-with-no-parameters-behavior
반응형
'programing' 카테고리의 다른 글
인증서를 가져오는 동안 오류가 발생했습니다.지정한 항목을 키 체인에서 찾을 수 없습니다. (0) | 2023.06.14 |
---|---|
템플릿에서 직접 Vuex 변수 상태 변경 (0) | 2023.06.14 |
문이 작동하지 않는 경우 한 줄 (0) | 2023.06.09 |
Linux 서버에 설치된 Oracle 버전을 찾는 방법(터미널 내) (0) | 2023.06.09 |
datetime 인스턴스가 다른 두 datetime 개체 사이에 있는지 확인합니다. (0) | 2023.06.09 |