在每个例子中,我看到尝试在结构中使用动态大小的数组在某些时候使用全局常量。我想要做的是将一个由用户决定的整数变量传递给我创建的结构,该结构存储该大小的数组,因此是动态的。显然,下面的代码不起作用,但它让您了解我计划完成的内容
struct Node {
char input;
int playingBoard[size];
Node* pNext;
};
int main(){
cout<<"enter board size"<<endl;
cin>>size;
int playingBoard[size];
}
答案 0 :(得分: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);