Open minseo-jung opened 5 years ago
#include <stdio.h> void practice() { int arr[3] = { 0,1,2 }; int *ptr = arr; printf("%d",ptr); printf("%d", *ptr); return; }
*ptr을 선언할 경우 배열에 상관없이 무조건 배열의 첫번째 요소를 긁어오는건가요.배열을 선언하지 않으면 무조건 첫번째 요소인건가요?
배열 변수의 메모리 값을 찍어보면 arr[0]의 주소가 나와. 그래서 배열의 첫번째 요소를 가리키게 되는거지. 메모리 주소값을 확인해보려면 아래처럼 %p를 format string으로 넣으면 돼
%p
printf("%p", arr); printf("%p", arr[0]); printf("%p", arr[1]); printf("%p", arr[2]);
*ptr을 선언할 경우 배열에 상관없이 무조건 배열의 첫번째 요소를 긁어오는건가요.배열을 선언하지 않으면 무조건 첫번째 요소인건가요?