개발

C++ 배열

백인성(GGM) 2024. 3. 26. 11:01

배열

같은 종류의 데이터들이 순차적으로 메모리에 저장되는 자료 구조


배열의 특징 

배열의 가장 큰 특징을 꼽자면 배열은 포인터와 같이 주소를 가지고 있다는 것이다.

예를들어 

void fung(int a [])
{
	a[0] = 3;
}

void main()
{
	int a [3] = {}; //모든 값 0으로
	fung(a);
	std::cout<<a[0];
}

위에처럼 다른 함수에 인자를 전달하게 된다면 주소를 보내게 되어서 다른 곳에서 값을 변경하게 되면 원본 값도 변경되어 버린다.

그렇다고 배열과 포인터가 똑같은 것은 아니다.

차이점

  • 배열은 포인터 상수이지만 다른 번지를 가리킬 수 없다.
  • 포인터는 변수이므로 대입이 가능하다.
  • 포인터 변수는 증감 연산자가 사용가능하다.
  • 배열은 상수이기에 증감 연산자를 사용할 수 없다.

마무리

C#에서 배열 선언 할때는

int [3] arr;

이러한데 

int arr [3];

C++은 이래서 조금 헷갈린다.

반응형

'개발' 카테고리의 다른 글

C++ 클래스  (1) 2024.04.02
C++ vector  (0) 2024.03.30
백준 25501번 재귀의 귀재  (0) 2024.03.22
C++ 열거형  (0) 2024.03.19
C++ 문자열  (0) 2024.03.12