강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của iulove892321
iulove892321

câu hỏi đã được viết

C ngôn ngữ học theo cách làm của Hồng Jeong-mo

10.13 Mảng con trỏ và mảng hai chiều

19:24 질문드립니다.

Đã giải quyết

Viết

·

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

Câu trả lời 3

1

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

1

honglab님의 프로필 이미지
honglab
Người chia sẻ kiến thức

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

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

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

0

iulove892321님의 프로필 이미지
iulove892321
Người đặt câu hỏi

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

Hình ảnh hồ sơ của iulove892321
iulove892321

câu hỏi đã được viết

Đặt câu hỏi