반응형
C의 기본 매개 변수
C에서 기본 파라미터의 값을 설정할 수 있는가?예를 들면 다음과 같다.
void display(int a, int b=10){
//do something
}
main(){
display(1);
display(1,2); // override default value
}
Visual Studio 2008, -void 디스플레이(int a, int b=10)에 구문 오류가 있다고 불평한다.만약 이것이 C에서 합법적이지 않다면, 대안은 무엇인가?부디 나에게 알려 주시오.고마워요.
기본 파라미터는 C++ 기능이다.
C에는 기본 파라미터가 없다.
그것은 표준 C에서는 가능하지 않다.한 가지 대안은 예를 들어 매개변수를 함수 이름으로 인코딩하는 것이다.
void display(int a){
display_with_b(a, 10);
}
void display_with_b(int a, int b){
//do something
}
C에는 기본 파라미터가 없다.
이를 통해 얻을 수 있는 한 가지 방법은 NULL 포인터를 통과시킨 다음 NULL이 통과되면 값을 기본값으로 설정하는 것이다.위험하긴 하지만 디폴트 파라미터가 꼭 필요하지 않으면 추천하지 않을게.
예
function ( char *path)
{
FILE *outHandle;
if (path==NULL){
outHandle=fopen("DummyFile","w");
}else
{
outHandle=fopen(path,"w");
}
}
그렇게는 안 돼...
내부 배열이나 바그(varg)를 사용하여 함수 내에서 결측 데이터를 입력할 수 있다.하지만 컴파일 시간 검사를 놓치셨군요.
참조URL: https://stackoverflow.com/questions/9185429/default-parameters-in-c
반응형
'programing' 카테고리의 다른 글
Vuex 클래스: Vue 구성 요소 외부의 Vuex 액세스 (0) | 2022.05.07 |
---|---|
(변수1 % 변수2 == 0) 비효율적인 이유는? (0) | 2022.05.07 |
Vue.js의 ''에 있는 텍스트를 참조하는 방법 (0) | 2022.05.07 |
헤더 파일의 변수 선언 (0) | 2022.05.07 |
Vuex 스토어 값을 입력하지 않고 업데이트 (0) | 2022.05.07 |