簡體   English   中英

使用char指針將結構的char數組值分配給char數組的雙指針

[英]Double pointer assigning char array value to char array, of structure using char pointer

我有此功能,我試圖將值分配給結構的成員。

  void Add(NodeDef **Head, char *Data){        
       ptrHead=(struct Node **)malloc(sizeof(struct Node));
         (*Head)->Data=*(Data);
           (*Head)->NextNode=NULL;
}

我這樣稱呼這個功能

for (i = 0; i < 5; i++)
    AddToLinkedList( &Head, iData[i].name);

iData是將數據存儲為字符串的結構的成員( char iData[50] )。

現在我遇到了類似的錯誤

error: assignment to expression with array type
  (*Head)->Data=*(Data);

錯誤消息類型為struct成員Data的類型(在(*Head)->Data=*(Data);是數組,您正在為其分配一個char值。

由於您傳遞了name ,因此您最可能要使用的是在那里的strcpy()

     strcpy((*Head)->Data, Data);

或者,如果您只想存儲一個char,則需要將結構中的Data類型從char[N]更改為char

另外,看看強制轉換malloc的返回值怎么了?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM