인프런 커뮤니티 질문&답변

광민님의 프로필 이미지
광민

작성한 질문수

홍정모의 따라하며 배우는 C언어

4.4 strlen 강의 질문드립니다.

작성

·

244

0

 

 

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main()

{

 

char *str5 = (char*)malloc(sizeof(char) * 100);

str5[0] = 'H'; str5[1] = 'e'; str5[2] = 'l'; str5[3] = 'l'; str5[4] = 'o'; str5[5] = '\0';

 

printf("%zu %zu\n", sizeof(str5), strlen(str5));

 

return 0;

 

 

 

}

 

컴파일 시 강의에는 4,5가 나오는데 저는 8,5가 나옵니다.

어디서 잘못된건지 궁금합니다

답변 1

0

안녕하세요!

x86 환경에서는 포인터 크기가 4 이지만 x64 환경에서는 포인터 크기가 8입니다.

x64 환경에서 실행하셨는지 확인 부탁드릴게요! 

지극히 정상인 현상이며 굳이 x86 으로 바꾸실 필요는 없습니다. 

광민님의 프로필 이미지
광민

작성한 질문수

질문하기