기본 문법
int arData[10]; // 자료형 변수명[배열크기];
java, c# 처럼 int[10] arData; 였으면 자료형을 알아보는 것이 더 편했겠다. 옛날 언어라서 그런가보다.
참고 사항
1. 개수가 명확할 땐 배열을 쓴다.
2. 배열을 늘리거나 줄이지 말자.
배열이 5칸인데, 7칸으로 늘린다 치면
메모리에서는 2칸을 늘리는 게 아니라 7칸짜리를 새로 만들고, 복사하는 것이다. 5칸짜리는 삭제함. (속도가 느림)
늘리거나 줄일거면 배열말고 다른 거 쓰자.
3. 배열 인덱스 변수를 선언했을 때, -1로 초기화 하지말자.
잘못된 메모리에 접근할 수 있다. (버그 가능성)
초기화는 0으로 하고, 배열의 0번째에는 디폴트 값을 넣어놓자.
가위바위보를 예시로 하면,
0 : 안 냄
1 : 가위
2 : 바위
3 : 보
이런 느낌으로 해야 -1 초기화로 인한 버그를 예방할 수 있다.
메모리를 더 쓰기는 하지만, 속도에는 별 의미없다.
4. 배열 길이는 잃어버리면 안된다.
c#, java는 Length를 이용해서 알 수 있지만,
c++은 배열 길이를 잃어버리면 안된다.
지역변수일때는 sizeof를 이용해서 배열 길이를 알아낼 수는 있지만,
포인터로 쓰일 경우에는 포인터 변수 크기가 항상 4바이트이기 때문에 이걸 사용해서 연산하면 실수할 수 있다.
int arData[5];
sizeof(arData) / sizeof(int) // 이런 건 사용하지 말자
5. sizeof 쓰게 된다면 절대로 변수명을 쓰지 말자. (실수 방지)
int nData{};
sizeof(nData) // 틀림
sizeof(int) // 맞음
int arData[5]{};
sizeof(arData) // 틀림
sizeof(int) * 5 // 맞음
'기타 > C++' 카테고리의 다른 글
[C++] 네임스페이스 (0) | 2020.06.06 |
---|---|
[C++] 구조체 (0) | 2020.06.06 |
[C++] 함수와 배열 쓸 때 참고하기 (0) | 2020.06.06 |
[C++] 함수 쓸 때 참고하기 (0) | 2020.06.06 |
[C++] 포인터 쓸 때 참고하기 (0) | 2020.05.20 |