inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

함수와 재귀함수 (v2)

함수와 재귀함수_포인터를 입력값으로 받는 함수 22:40

해결된 질문

300

eunssol01

작성한 질문수 1

0

안녕하세요 섹션2 C언어 파트에서

함수와 재귀함수 강의 중 질문 있습니다.

 

포인터를 입력값으로 받는 함수 예시 중에서,

입력값으로 char *str으로 되어있고

이거는 주소값을 저장하는 포인터 변수인데

printf 로 출력할 때 str이 주소값이 아니라 문자열인가요??

 

%s\n 이라서 그런가요?

 

myString[] 이 가지고 있는 가장 첫번째 값의 주소가 전달되었다고 하는데 "입력된 문자열 :" 뒷부분에 주소값이 아닌 문자열이 출력되는 이유를 모르겠습니다....ㅠ

주소값이 저장되는 변수인 포인터 변수가 들어오는 거면 저장된 값이 주소값인 거로 이해되는데 출력은 문자열이라서 이 포인트가 이해 안 돼요..

 

그리고 보다보니 의문이 생겨서 질문 하나 더 있습니다!

main() 실행함수 안에서

char myString[] = "this is String";

하고 printString메서드 호출할 때

printString(myString[]) 이 아닌

printString(myString)

 

배열 []를 빼주고 이름만 써주는 걸까요?!

같이 설명해 주시면 감사하겠습니다!

 

 

python java c 정보처리기사

답변 1

0

주말코딩

1. %s에 대하여

%s는 문자열 그 자체 이름을 넣으시면 됩니다. %s의 정의를 엄밀하게 말씀드리자면,

"이 곳에 오는 단어가 가리키고 있는 부분부터 '\0' 직전까지의 모든 단어를 순서대로 출력해라" 라는 명령입니다.
%s는 문자열이든 배열이든 첫 부분을 가리키는 주소가 오면 됩니다.

극단적인 예시 제공해드리겠습니다.

아래 4개의 출력문은 정확하게 똑같이 동작합니다.

#include <stdio.h>

int main() {
    char str1[] = "Hello, World!";
    char str2[] = "Hello, World!";
    char *str3 = "Hello, World!";
    char *str4 = "Hello, World!";

    printf("1: %s\n", &str1[0]);
    printf("2: %s\n", str2);
    printf("3: %s\n", str3);

    // 반복문으로 하나씩 출력
    printf("4: ");
    for (int i = 0; str4[i] != '\0'; i++) {
        printf("%c", str4[i]);
    }
    printf("\n");

    return 0;
}

위 예시를 보시면 조금 이해가 쉽지 않을까 싶습니다.

 

출력문:

1: Hello, World!

2: Hello, World!

3: Hello, World!

4: Hello, World!

 

2. printString에 대하여

저 상태는 입력값을 char *로 받고 있습니다.

포인터 그 자체 이름이나, 배열 이름이나 똑같이 문자열의 첫 번째 주소를 가리키는 역할을 합니다.

그래서 이름만 넣으면 됩니다.

 

이해에 도움이 되셨을까요?

필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)

0

42

2

26년 1회 실기 해설 강의

0

59

2

53번 4-1 자료 오류 있는 것 같습니다.

0

72

2

7번문제

0

59

2

C언어 변형문제 9번문제 Pdf 수정요청

0

47

2

메서드 오버드라드

0

47

2

실수

0

46

1

공부 우선순위 우선강의 알려주세요

0

88

1

생성자 호출순서 강의 10번 문제 30분대 질문입니다

0

48

2

25년 2회 기출 5:40 질문입니다.

0

42

2

모의고사1회 3번 파이썬문제

0

74

2

C언어 출제변형 6번 문제

0

50

2

c언어 출제변형 강의 질문

0

31

2

28:40

0

33

2

C :  언어 배열과  문자열 수업자료

0

29

2

파이썬 리스트, 딕셔너리 질문

0

42

2

모의고사 관련 질문 건

1

69

3

자료 내용 오류

0

64

2

정적 변수, 정적 메서드(static) v2

0

48

2

v1.2 와 v0.91 PDF

0

101

1

업캐스팅 (부모형태, 자식생성자)

0

51

2

정보처리산업기사 준비중입니다.

0

74

2

실기 D -6

0

105

2

(기출) 2024년 2회 기출문제 - 이론 포함 22분32초 질문입니다

0

57

3