배열
같은 종류의 데이터들이 순차적으로 메모리에 저장되는 자료 구조
배열의 특징
배열의 가장 큰 특징을 꼽자면 배열은 포인터와 같이 주소를 가지고 있다는 것이다.
예를들어
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 |