我在初始化每個代碼中的結構時遇到了困難。這甚至可以完成,或者我真的需要memcpy(urg)5個字符的字符串到結構中嗎?結構初始化失敗
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 2011-03-10 18:28:26
@ user654077:對不起,但你的問題和你的評論相互矛盾。如果它應該是'const char * MyString =「mnopq」',那麼它*是一個以空字符結尾的字符串。然而,在代碼評論中你說它不是。 ???決定你想要什麼並編輯你的問題。在這個時候它是一團糟。 – AnT 2011-03-10 18:37:39