인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

이다연님의 프로필 이미지
이다연

작성한 질문수

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

4.4 strlen() 함수

처리되지 않은 예외가 throw됨: 쓰기 액세스 위반입니다.

작성

·

4.7K

0

섹션 4.4의 예제를 그대로 따라해보았더니

#include<stdio.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;
}

str5[i]로 배열을 선언하는 부분에서 오류가 납니다. 어떻게 해결해야할까요?

답변 1

0

헤더 파일 include를 누락하신듯 합니다.

아래와 같이

malloc()을 위해 stdlib.h를,

strlen()을 위해 string.h를 include해주세요.

 

#include<stdlib.h>
#include<string.h>
#include<stdio.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;
}
이다연님의 프로필 이미지
이다연

작성한 질문수

질문하기