우리는 크기를 할당하는 경우 = 새 문자 [3] i가 가질 ptr.since이 광고 숯 *의 PTR의 의미가 무엇인지에 대한 포인터우리
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char (*ptr)=new char[3];
strcpy(ptr,"ert");
cout<<ptr<<endl;
return 0;
}
의 크기를 선언 할 수 포인터 크기를 선언 할 크기를 3으로 지정하고 문자열을 "ert"로 지정하면 문자열 길이가 너무 길기 때문에 오류가 발생하지만 포인터는 크기를 할당 할 수 없습니다. nul terminator에 대한
char *ptr=new char[4];
strcpy(ptr,"ert");
한 여분의 공간 :
''ert "'는 실제로 4'char' 's를 보유합니다. 끝에 추가로 nul이 있습니다. –
당신이 할 수있는 최선의 방법은'strncpy'와 같은 것을 사용하는 것입니다. – PeterT
런타임에 할당 한 바이트 수를 모르기 때문에 에러를 표시 할 필요가 없습니다. – thang