포인터의 변수가 가리키는 곳의 값을 말할 때는 *을 붙인다
83페이지 문제 1 ,2 를보면
문제 1 printf("%8.3s/n",str);
문제 2 printf("%c, %c/n", *p, *(p-2));
두 문제다 문자형 변수가 저장된곳의 주소를 기억할 포인터변수 str이랑 p가 선언이 되었는데
문제1 -> str앞에 *이 없고 문제2 -> p앞에는 * 이붙어 *p 가 되는지 궁금합니다.
str에도 *이붙어 *str로 해야 str이 가리키는 곳의 값이 되어 출력이 되는게 아닌가요??
안녕하세요.
포인터 변수로 선언된 변수를 사용할 때
str과 같이 * 없이 사용하게 되면 해당 변수가 가르키는 곳의 값 전체를 대상으로 합니다.
*str과 같이 *를 사용하면 해당 변수의 첫번째 값이 됩니다.
즉 str 에 "KOREA"가 저장되어 있다면
str로 출력하면 KOREA가 출력되고
*str로 출력하면 K가 출력됩니다.
단 str로 출력할 때는 문자열이 출력되므로 %s를 서식 문자열로 사용해야 하고
*str로 출력할 때는 한 글자가 출력되므로 %c를 서식 문자열로 사용해야 합니다.
오늘도 즐거운 하루 되세요.
-
*2018-03-14 09:39:00
안녕하세요.
포인터 변수로 선언된 변수를 사용할 때
str과 같이 * 없이 사용하게 되면 해당 변수가 가르키는 곳의 값 전체를 대상으로 합니다.
*str과 같이 *를 사용하면 해당 변수의 첫번째 값이 됩니다.
즉 str 에 "KOREA"가 저장되어 있다면
str로 출력하면 KOREA가 출력되고
*str로 출력하면 K가 출력됩니다.
단 str로 출력할 때는 문자열이 출력되므로 %s를 서식 문자열로 사용해야 하고
*str로 출력할 때는 한 글자가 출력되므로 %c를 서식 문자열로 사용해야 합니다.
오늘도 즐거운 하루 되세요.