변수 앞에 &를 붙이면 그 변수의 주소값을 가리킵니다.
scanf()함수는 입력받은 값을 변수의 주소에 넣습니다
scanf("%d", &var); //&var 는 var 의 주소
배열요소 할때 &를 쓴다는게 무슨 말인지 잘은 모르겠으나,
배열의 이름을 그대로 사용하면, 배열 첫번째 주소값을 나타냅니다.
int arr[5];
if(arr==&arr[0])puts("1");
출력 : 1
char str[5];
if(str==&str[0])puts("1");
출력 : 1
다만, 문자열을 입력할 땐 문자열이 시작되는 주소값을 전달해주는데,
배열 이름을 그대로 사용하면 배열 첫번째 주소값이라고 했습니다.
scanf("%s", str); == scanf("%s", &str[0]);
le_effort 5년 전
어쩔때는 &를 안쓰고 어쩔땐 쓰던데
제가 기억하는건 배열요소를 할땐 & 썻던거 같은데
그 배열도 포인터고 그래서 주소연산자를 안쓰는 때가 있던거 같은데 그게 뭐죠...?
두가지좀 명확하게 설명해주실수 있나요?