• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

4.4 strlen 강의 질문드립니다.

21.12.25 01:25 작성 조회수 161

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

안소님의 프로필

안소

2021.12.25

안녕하세요!

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

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

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