9. 포인터 변수 문제 풀이
강의 링크🧩 문제 1.short sArr[10] = { 1,2,3,4,5,6,7,8,9,10 };int* pI = (int*)sArr;int iData = ((short*)(pI + 2));printf("1번 문제 정답 : %d\n", iData);🖨️ 출력 결과1번 문제 정답 : 5🔍 해설short sArr[10]은 2바이트 정수 10개로 구성된 배열입니다.int* pI = (int*)sArr;→ short*을 int*로 강제로 캐스팅하였기에, 포인터의 연산 단위가 4바이트로 바뀝니다.pI + 2는 4바이트 * 2 → 8바이트(=4개의 short) 만큼 증가합니다.즉, sArr[4]와 sArr[5]를 가리키게 됩니다. 즉 {1,2,3,4,👉5,6,7,8,9,10} 중에서 5,6 위치.이후 (sh..
2025. 4. 15.
5. 배열
배열은 메모리에서 연속적인 위치를 사용합니다.배열 선언정수 배열의 경우, 값을 할당하지 않은 자리는 0으로 초기화됩니다.int 배열명[배열길이] = {}; int iArray[10] = {}; // 4바이트 정수형 배열, iArray = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}배열 접근배열의 인덱스는 0부터 시작합니다.iArray[4] = 10; // iArray 배열의 5번째 값을 10으로 변경합니다.주의 사항배열의 길이를 초과해 접근할 경우 에러 발생 또는 메모리 손상의 위험이 있습니다.이는 정의되지 않은 동작(Undefined Behavior)으로, 다른 메모리 값을 덮어쓸 수도 있습니다. ※ 배열의 크기 확인하기변수명 위에 마우스를 올리세요 참고https://gdngy.tisto..
2025. 3. 26.