프로그래밍/C++

#32. 배열기초

코딩하는상후니 2022. 7. 19. 22:04

 

*배열 ( 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