2014-04-21 65 views
-1

在我看到的每個示例中,都嘗試在結構中使用動態大小來存儲數組中的數組,在某些時候使用全局常量。我想要做的是將一個由用戶決定的整型變量傳遞給我創建的結構,以存儲該大小的數組,因此是動態的。顯然,下面的代碼不能正常工作,但它給你什麼,我打算一個想法辦成將動態數組傳遞給C++中的struct

struct Node { 

    char input;  
     int playingBoard[size]; 
    Node* pNext; 
}; 


int main(){ 

cout<<"enter board size"<<endl; 
cin>>size; 
int playingBoard[size]; 
} 

回答

0
struct Node 
{ 
    int countr; 
    int playingBoard[]; 
}; 

int countr; 
... 
struct Node *p = malloc(offsetof(Node, playingBoard) + 
    countr* sizeof *p->playingBoard); 
p->countr= countr; 

... 

或獨立的動態分配的數組

struct Node 
{ 
    int countr; 
    int *playingBoard; 
}; 


Node holder; 
... 
holder.playingBoard = 
    malloc(holder.countr * sizeof *holder.playingBoard);