c如何在struct中创建动态数组指针

时间:2011-10-07 18:50:19

标签: c arrays struct

我正在接受用户输入的数组中elemenet的数量。数组在我的结构'Polymer'

struct Polymer
{
    int length;

    struct Monomer *monomer;

}polymer;

主要是,我正在创建一个新的单体数组指针并将“Polymer”中的单体指针设置为它

struct Monomer *monomers[size];
polymer.monomer = momomers;

我收到错误“从不兼容的指针类型分配”,我假设是因为我们正在将单体数组指针转换为单体。如何在结构中将其声明为单体数组指针?

2 个答案:

答案 0 :(得分:5)

当您可能需要单体阵列时,您正在声明一个单体指针数组。放下*

struct Monomer monomers[size];
polymer.monomer = momomers;

答案 1 :(得分:2)

struct Monomer *monomers[size];
polymer.monomer = momomers;

monomers是一个指针数组。它们没有指向任何有效位置并且具有垃圾值。虽然Polymer::monomer指针。指针数组与指针的类型不兼容。

而是尝试 -

struct Monomer monomers[size];
polymer.monomer = momomers;  // 2

现在这个语句2是有效的,因为数组衰减为指针。