C 배열 메모리 2

C언어 배열 메모리 레이아웃 (feat. GDB)

C 언어에서 배열이 메모리에 어떻게 저장되고 관리되는지 GDB(GNU Debugger)를 실행해서 눈으로 직접 확인해볼 수 있다.1. 배열 코드배열을 사용하지 않았을 때와 사용했을 때의 차이를 보여주는 예제 코드이다.배열을 사용하면 반복문을 통해 효율적으로 데이터에 접근할 수 있다는 장점이 있다.#include int main() { // 배열을 사용하지 않은 경우 int a, b, c, d, e; a = 1, b = 2, c = 3, d = 4, e = 5; // 배열을 사용한 경우 int number[5] = {1, 2, 3, 4, 5}; printf(">>> 반복문으로 배열 출력 2. GDB 디버깅 과정 및 명령어소스 코드 확인 및 브레이크포인트 설정..

C언어 char 배열의 메모리 할당 및 문자열 초기화 메커니즘 (feat. VS Code 디버거)

C언어에서 문자열 배열을 다룰 때, 선언과 동시에 값을 대입하는 것과 선언 후 별도로 대입하는 것은 메모리 관점에서 차이가 있다.VS Code의 디버거를 통해 각 케이스별로 메모리 내부의 쓰레기값과 데이터 배치 과정을 확인해볼 수 있다. 1. 테스트 코드 작성비교를 위해 두 가지 케이스를 구성했다. CASE 1은 선언과 동시에 초기화하는 방식이고, CASE 2는 선언 후 strcpy 함수를 사용하여 값을 대입하는 방식이다.디버거의 변화를 관찰하기 위해 message1[10] 배열 초기화 부분에 중단점(Breakpoint)을 걸어주고 F5로 디버깅을 실행한다.#include #include int main() { // [CASE 1] 선언과 동시에 초기화 char message1[10] = "H..