강의

멘토링

커뮤니티

Inflearn Community Q&A

iulove892321's profile image
iulove892321

asked

Hong Jung-mo's Follow Along and Learn C Programming

10.13 Arrays of pointers and two-dimensional arrays

19:24 질문드립니다.

Resolved

Written on

·

314

0

강의 내용을 토대로 name의 사이즈를 구하고 싶어서 코드를 만들어봤는데요.

char* name[] = {"hello", "hi"};

printf("%zd\n", sizeof(name)}; 

제가 생각했던 것은  'H', 'e', 'l', 'l', 'o', '\0'  ,  'h', 'i', '\0'

널 문자를 포함한 총 9개의 문자와 1byte(char타입형)을 곱해

9byte라고 생각했는데 8바이트가 나옵니다.. 왜 그런지 알 수 있을까요??

c

Answer 3

1

포인터니까 4*2=8이요

1

honglab님의 프로필 이미지
honglab
Instructor

좋은 질문입니다. 이럴때는 다양하게 상황을 바꿔가면서 실험 해보시고 그 결과로써 이유를 추론해보면서 공부하시는게 정석입니다. 예를 들어서 아래와 같은 경우로 테스트해보세요.

char* name[] = {"hello", "hi", "ho", "Waiting for something great!"};

printf("%zd\n", sizeof(name)); 

0

iulove892321님의 프로필 이미지
iulove892321
Questioner

그냥 배열이 아닌 포인터 배열이라는 것에 초점을 두었더니 해결했습니다. 감사합니다.

iulove892321's profile image
iulove892321

asked

Ask a question