구조체에 정수의 기본값을 설정하는 방법을 알 수 없습니다. 예를 들어구조체에있는 정수의 기본값
typedef struct {
char breed[40];
char coatColor[40];
int maxAge = 20;
} Cat;
위의 코드는 실행시 오류가 발생합니다. '예상'; 선언 목록 끝에
구조체에 정수의 기본값을 설정하는 방법을 알 수 없습니다. 예를 들어구조체에있는 정수의 기본값
typedef struct {
char breed[40];
char coatColor[40];
int maxAge = 20;
} Cat;
위의 코드는 실행시 오류가 발생합니다. '예상'; 선언 목록 끝에
당신은 당신이 아마 원하는 것은 당신의 구조체의 사용자가 먼저 전화해야에 '초기화하기'스타일의 함수이다 C.에서 기본값을 지정할 수 없습니다 :
struct Cat c;
Cat_init(&c);
// etc.
감사합니다 마이크! – jingo
구조에서 기본값을 지정할 수 없습니다. 이 구문은 단지 존재하지 않습니다.
간결하게, 당신은 할 수 없습니다. 그것은 단순히 C.
의 기능이 아닙니다구조는 유형입니다. 유형 (모든 유형)에는 기본값이 없습니다.
// THIS DOES NOT WORK
typedef char = 'R' chardefault;
chardefault ch; // ch contains 'R'?
당신은 초기화에서 개체에 대한 값을 지정할 수 있습니다
char ch = 'R'; // OK
struct whatever obj = {0}; // assign `0` (of the correct type) to all members of struct whatever, recursively if needed
당신은 초기화 할 수 있지만 (더 나은 사용자 정의 기능을 사용하는) 문자열 [기본의
typedef struct {
char breed[40];
char coatColor[40];
int maxAge;
} Cat;
Cat c = {"here39characters40404040404044040404040",
"here39characters40404040404044040404040",
19
};
가능 중복 실제 아니다 값을 C 구조] (http://stackoverflow.com/questions/749180/default-values-in-ac-struct) – Joe