在c ++中将动态数组传递给struct

时间:2014-04-21 15:49:19

标签: dynamic struct

在每个例子中,我看到尝试在结构中使用动态大小的数组在某些时候使用全局常量。我想要做的是将一个由用户决定的整数变量传递给我创建的结构,该结构存储该大小的数组,因此是动态的。显然,下面的代码不起作用,但它让您了解我计划完成的内容

struct Node {

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


int main(){

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

1 个答案:

答案 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);