C언어 배열과 문자열 강의 관련 질문
선생님, 안녕하세요!
C언어 배열과 문자열 강의 중에 포인터 사용 관련 예제 코드 관련해서 궁금한 것이 있어 글을 올립니다.
배열과 문자열 강의 8번 슬라이드(제목: 배열 끝! 이제 문자열을 배워보자)인데요,
오른쪽에 있는 '문자열 자체로 쓰기'의 예제 코드에서, 세 번째 줄에 *str로 포인터를 선언해놓고는 왜 네 번째 줄에서는 str로 불러오는지 잘 이해가 되지 않습니다.
str이 아니라 *str로 불러와야하는게 아닐까 싶어서 ㅠ 포인터가 진짜 쉽지가 않네요.
바쁘시겠지만 확인 한번 해주시면 너무나도 감사하겠습니다. 시험이 얼마 남지 않은 것 같은데 직장인이다보니 주말에 몰아서 달리는 중입니다. 많이 도와주세요 선생님 ㅠㅠ 편안한 주말 밤 되십시오!!
답변 2
1
#include <stdio.h>
int main() {
char *str = "Hello, World!";
printf("%s\n", str);
return 0;
}이 코드를 말씀하시는 것이 맞을까요?
저거는 %s로 전체 문자열을 출력하려면 주소를 줘야한다고 외우시면 됩니다.
*str로 입력하는 순간, "H"만 가리키게 됩니다. 그래서 %c로 출력하셔야 해요.
(배열은 특성상 배열이름으로 포인터에 넣은 경우, 배열의 가장 첫 번째 요소를 가리키므로)
#include <stdio.h>
int main() {
char *greeting = "Hello, World!";
printf("%c\n", *greeting);
return 0;
}이렇게 하면 "H"만 출력됩니다.
%s는 그냥 * 없이 전체 주소를 넘겨줘야 한다고 외웁시다 우리!
모의고사 1회 계산문제 2개 맞았는데
0
10
1
업캐스팅 문제 예시 4번 부모 호출
0
17
1
모의고사 자료 해설이 너무 불친절하네요.
0
43
2
부모의 생성자 출력 관련
0
20
2
이론파트 재탕문제
0
20
0
누락코드
0
21
1
다차원 배열 포인터 질문있습니다
0
39
3
이론 파트 재탕
0
37
1
모의고사 5회
0
34
1
12분 10초 func(values, 0, 1)을 넣을 때
0
38
1
모의고사 1회 4번 문제와 관련한 질문이 있습니다.
0
41
2
재탕문제
0
57
1
재탕문제
0
38
0
파이썬 추가 코드
0
53
1
배열 포인터 출력 표시
0
54
2
포인터 증감 또는 값 증감
0
54
2
배열 포인터 함수 관련
0
52
2
실기 이론 통합 요약본 버전
0
66
2
업캐스팅 3번 문제 예시
0
63
2
push pop 설명 되어있는 강의가 몇강인가요?
0
53
1
모의고사 파일오류
1
84
3
모의고사 다운
0
58
1
업캐스팅 원칙
0
71
2
6분46초
0
61
2





