我正在接受用户输入的数组中elemenet的数量。数组在我的结构'Polymer'
中struct Polymer
{
int length;
struct Monomer *monomer;
}polymer;
主要是,我正在创建一个新的单体数组指针并将“Polymer”中的单体指针设置为它
struct Monomer *monomers[size];
polymer.monomer = momomers;
我收到错误“从不兼容的指针类型分配”,我假设是因为我们正在将单体数组指针转换为单体。如何在结构中将其声明为单体数组指针?
答案 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是有效的,因为数组衰减为指针。