포인터가 가리키는배열 출력하는 프로그램 작성

포인터가 가리키는배열 출력하는 프로그램 작성

작성일 2024.04.26댓글 2건
    게시물 수정 , 삭제는 로그인 필요

put_string 함수의 가인수 *s가 char형 배열을 가리키고 있는 상황입니다.
*s가 가리키는 char형 배열, 즉 문자열을 출력할 때
답지처럼 while(*s) { putchar(*s++); } 라고 하지 않고
printf("%s", s); 라고 해도 문자열이 출력되나요?



profile_image 익명 작성일 -

s가 null(0)으로 끝나는 문자열이라면 printf("%s", s); 으로도 문자열 출력이 가능합니다.

profile_image 익명 작성일 -

네, `printf("%s", s);` 라고 해도 `*s`가 가리키는 char형 배열, 즉 문자열이 정상적으로 출력됩니다. `printf` 함수의 `%s` 서식 지정자는 문자열을 출력하기 위해 사용되며, 인수로 전달된 문자 배열(문자열)의 시작 주소를 받아 해당 주소부터 널 문자(`'\0'`)가 나타날 때까지의 모든 문자를 출력합니다. 따라서 `while(*s) { putchar(*s++); }` 를 사용하여 문자열을 한 글자씩 출력하는 대신, `printf("%s", s);`를 사용하여 전체 문자열을 한 번에 출력할 수 있습니다.

포인터 배열을 이용한 프로그램...

포인터 배열 *p[5]를 이용하여 개의 숫자 중에서 가장 큰 수를 출력하는 프로그램작성하는 프로그램은 어떻게 만드러야하나요 감이안잡히내요...

(C) 동적 할당 배열 주소값과 포인터...

... 나오고, 포인터가 가리키는 값을 출력하배열의 첫 번째... 확보하게끔 작성됩니다. 그러나 malloc() 으로 동적할당되는 메모리는 프로그램이 실행될 때 할당 됩니다....