아래 코드에서 구조체를 초기화하는 데 어려움이 있습니다. 이 작업을 수행 할 수 있습니까, 또는 정말 구조체에 5 문자 문자열을 memcpy (urg)해야합니까?구조체 초기화 오류
struct MyStruct
{
char x[5];
};
main(...)
{
const char* MyString = {"mnopq"}; // I understand this is a non-NULL terminated string -
// it's OK, I just want five character fields in an array
struct MyStruct = {MyString}; // <---This gives warnings below
}
경고 :
이struct MyStruct = {{MyString}};
최초의 경고가 사라집니다 : 나는 초기화처럼 포장하는 경우 초기화 캐스트
없이 포인터의 정수를 만든다 :
경고가 초기화 주위에 괄호가 없습니다. 두 번째 경고는 그렇지 않습니다. 그리고, 따라서 구조체는 희망대로 초기화되지 않습니다.
미리 도움을 청하십시오.
죄송합니다. const char * MyString = "mnopq"; (중괄호 없음) – user654077
@ user654077 : 죄송합니다. 귀하의 질문과 의견은 서로 모순됩니다. 'const char * MyString = "mnopq"'이면 NULL 종료 문자열입니다. 그러나 코드 주석에서 그렇지 않다고 말합니다. ??? 원하는 것을 결정하고 질문을 편집하십시오. 이때는 엉망입니다. – AnT