배열및 구조체의 초기화 #

// 3개의 원소를 각각 1, 2, 3 으로 초기화 
int nArr[3] = { 1, 2, 3 };

// 4개의 원소를 가지는 배열 4개를 1, 2, 3, 4 로 초기화 
// 이때 배열의 개수는 4개로 자동으로 정의됨 
int nArr[] = { 1, 2, 3, 4 };

struct St {
  int a;
  int b;
};

// 구조체 St의 멤머 a, b를 각각 1, 2로 초기화 
St st = { 1, 2 };

// 구조체의 배열 초기화 
St st[2] = { { 0, 1 }, { 2, 3 } };


초기화 되지 않은 auto 변수는 정의되지 않은 값을 가진다 #

// 어떤값이 들어있는지 정의되지 않았음 
int nArr[3];
St st;
St st[2] ;

// 물론 배열및 구조체 변수가 아닌 일반 auto 변수도 같이 적용 
int n; // 정의되지 않음 


부분초기화된 배열및 구조체 #

부분 초기화된 배열및 구조체의 나머지 원소나 멤버의 값은 static변수처럼(0으로 초기화) 된다

// 첫번째 원소에 0을 초기화 하고 나머지 2개의 원소에는 0을 적용 
int nArr[3] = { 0 };

// 첫번째와 두번째에 각각 1, 3으로 값을 초기화 하고 나머지 3개의 원소에 대해서는 0으로 초기화 한다 
int nArr[5] = { 1, 3, };

// 맨 마지막 콤마는 생략 가능 
int nArr[5] = { 1, 3 };


struct St {
  int a;
  int b;
};

// St의 a의 멤버에 2를 초기화 하고 나머지멤버인 b에 0을 초기화 
St st = { 2 };
St st = { 2, };


모든원소에 0으로 초기화 #

struct St {
  int a;
  int b;
};

// 0으로 초기화 하는 같은 내용들   
St st = { 0, 0 };
St st = { 0, };
St st = { 0 };
St st = {};

int nArr[5] = { 0, 0, 0, 0, 0 };
int nArr[5] = { 0, };
int nArr[5] = { 0 };
int nArr[5] = {};

'Dev > C++' 카테고리의 다른 글

new 2  (0) 2008.05.01
new 1  (0) 2008.05.01
operator overloading 2  (0) 2008.05.01
operator overloading 1  (0) 2008.05.01
Conversion Functions - 변환함수  (0) 2008.05.01

+ Recent posts