작성
·
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 으로 바꾸실 필요는 없습니다.