*배열 ( Array )
=> 배열의 크기는 상수이어야만 함 ( VC 컴파일러기준 )
StatInfo Players[10];
StatInfo Monsters[10];
Players = Monsters => (X)
=> 배열의 이름은 무엇이되는가 ??
=> 첫번째 시작 주소.
=> 정확히는 시작 위치를 가리키는 'TYPE 크기' 를 알고 있는 포인터
auto Monster_0 = Monsters;
=> Monster_0 의 타입은 무엇일까??
Monsters 는 배열이름으로 주소이므로, 해당 타입의 * 변수가 됨.
*배열의 포인터연산
StatInfo& Monster_Ref1 = (*Monsters);
Monster_Ref1.hp = 1;
StatInfo& Monster_Ref2 = *(Monsters + 2);
Monster_Ref2.hp = 1;
//@이건 완전히 다르게 동작. => 단순히 값 복사
StatInfo Temp = *(Monsters + 2);
Temp.hp = 1;
@[ ] = *( Ref + 1 );
=> 배열은 0번부터 시작!!
=> N 번째 인덱스에 해당하는 데이터에 접근하려면 '배열이름[N]'
*배열 초기화 문법 몇가지
1. int Number[5] = { }; => ( 기본값 0 )
2. int Number[10] = { 1, 2, 3, 4, 5, }; => 나머지 5개는 0으로 밀림.
3. int Number[ ] = { 1,2,3,4}; => 데이터 개수만큼의 크기에 해당하는 배열로 만들어줌.
본 내용은 인프런의 루키스님 강의를 듣고 정리한 내용입니다.
'프로그래밍 > C++' 카테고리의 다른 글
#34. 다중 포인터 (0) | 2022.07.19 |
---|---|
#33. 포인터 & 배열 (0) | 2022.07.19 |
#31. 참조 & 포인터 (0) | 2022.07.19 |
#30. 참조 기초 (0) | 2022.07.19 |
#29. 포인터 연산 (0) | 2022.07.19 |