1. 포인터와 배열의 차이
(1) 데이터 저장
int main()
{
const char* test1 = "Hello world"; // 포인터 형태
char test2[] = "Hello world"; // 배열 형태
return 0;
}
포인터를 사용하면 test1의 시작 주소에서 1바이트씩 한개의 문자열을 저장한다.
ex) Hello world = [시작 주소] / [H] [e] [l] [l] [o] [w] [o] [r] [l] [d] [\0]
배열을 사용하면 문자열을 4바이트씩 끊어서 저장한다.
ex) Hello world = [H] [e] [l] [l] / [o] [w] [o] [r] / [l] [d] [\0]
여기서 test2(의 배열 이름)는 시작 주소이다.
(2) 데이터 수정
배열에서는 대입된 데이터의 일부만 수정할 수도 있지만 포인터에서는 불가.
배열을 함수의 인자로 사용하면 컴파일러가 알아서 포인터로 치환한다.
-> 즉, 배열이 아니라 배열의 시작 주소(포인터)를 넘긴다.
'기초 C++ 스터디' 카테고리의 다른 글
4-10. 다차원 배열 (0) | 2023.05.23 |
---|---|
4-9. 멀티 포인터 (0) | 2023.05.23 |
4-6. 배열 (0) | 2023.05.22 |
4-5. 포인터 vs 참조 (0) | 2023.05.11 |
4-4. 참조 (0) | 2023.05.11 |