你好,我試圖將一個字符串複製到「word」變量中。 strcpy需要char *類型,而我的「word」變量是char **類型。 我該如何做到這一點? 我試過了,但它不起作用。strcpy:在聯合中使用char **變量作爲參數
struct command
{
enum command_type type;
char *input;
char *output;
union
{
struct command *command[2];
char **word;
} u;
};
main(){
...
char* charPtr = "abc";
struct command* cmdPtr;
strcpy(cmdPtr->u.word,charPtr);
...
}
您從分配一些內存開始,因爲其中的未定義行爲非常猖獗。 – WhozCraig
首先,指向'char'的指針不是一個字符串。如果有的話*它可能是一串字符串。其次,在你的代碼片段中,你實際上並沒有初始化結構指針,所以它指向了一些未定義的位置。當你使'cmdPtr'指向某個有效的地方時,你需要初始化結構中的指針*,包括數組中的指針*。 –
你只是想讓程序編譯,還是希望能夠運行? –