문자열을 배열에 저장할때 직접 저장하지 않고 주소를 저장한다 ★
c++에서는
const char* strings[] = {"Hello", "World", "C++"};
64bit 기준으로 각 포인터는 8byte이므로 이웃한 주소간의 간격이 8byte이다
실제 문자열은 Heap에 저장되기 때문에 문자열의 길이가 늘어나도(8byte 보다 커져도) 주소침범이 일어나지 않는다
c#도 비슷하다
string[] arr = new string[] { "Hello", "World", "C#" };
string은 참조타입이므로 실제 문자열은 Heap에 저장되며, 배열에는 참조를 저장한다
이웃한 주소의 크기는 마찬가지로 똑같으며 64bit 기준으로 8byte이다
실제 문자열은 Heap에 저장되기 때문에 문자열의 길이가 늘어나도(8byte 보다 커져도) 주소침범이 일어나지 않는다
'유니티 부트캠프 8기 > Ch02. 프로그래밍 기초(C#)' 카테고리의 다른 글
Console.KeyAvailable() (0) | 2025.02.08 |
---|---|
디버깅 심화: 직접 실행창 사용하기 (0) | 2025.02.07 |
try catch를 사용한 예외처리 (0) | 2025.01.27 |
제네릭, out, ref (0) | 2025.01.27 |
상속과 다형성, 숨기기, 재정의, 가상 메서드, 추상 클래스, 인터페이스 (0) | 2025.01.27 |