본문 바로가기
C++

C++ 배열 2 주소값

by Wanado 2022. 10. 28.
728x90

배열은 가은 데이터 타입의 많은 데이터를 처리하기 위한 자료구조이다.

아울러, 배열은 연속된 메모리 공간(스텍)을 할당바는다.

배열을 선언하는 구성요소 : 배열의 데이터 타입, 배열명(주소), 배열의 크기([0을 초과하는 값])

 

char char_name[10] ={ "ABCDEFGHI" };

short short_name[10] = {0,1,2,3,4,5,6,7,8,9};  //20바이트

cout << "char_name 배열의 시작 주소 "<< & char_name << endl;

 

000000056AA76FC28

 

//ostream(출력스트림) 이용시에는 C++는 문자형 배열을 string 타입으로 인식을 한다.

//string 타입 특성상 문자열의 끝을 알리는 "\0"라는 null이 들어와야 문자열이 끝이 났다고 인식한다.(Zero terminated 구조)

이러한 이유로 char형 배열은 주소를 출력할 때 

for (int i =0 ; i < 10 ; i++) {
 
     //cout << "char_name [" << i << " 배열의 시작 주소" << &char_name[i] << endl;
     cout << "char_name [" << i << " 배열의 시작 주소" <<reinterpret_cast<void *>(char_name[i]) << endl;
 
 }
 
 for (int i =0 ; i < 10 ; i++) {
 
     cout << "shot_name [" << i << " 배열의 시작 주소" << &short_name[i] << endl;
    
   }

 

 

** 모든 변수, 배열, 객체 등은 초기화를 시켜주지 않으면 쓰레기값으로 저장되므로 초기화가 필요하다.

728x90

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

타입 캐스트 연산자  (0) 2022.10.28
C++ 배열 1  (0) 2022.10.28
반복문(do-while,while,for,더블루프)  (0) 2022.10.28
cin.fail / cin.clear / cin.ignore  (0) 2022.10.28
switch  (0) 2022.10.28