2

我正在尝试将一个 int 指针分配给一个 int 数组,它是一个 structre 的成员。该结构是另一个结构的成员,该结构恰好是结构数组。而这个结构数组恰好是另一个结构的成员。最后一个结构恰好是结构数组的一个元素。

typedef struct s_ptxRowProperties
{
    int lastPlotValue[134];

} ptxRowProperties;

typedef struct s_ptxRow
{   
    ptxRowProperties PtxRowProperties;

} ptxRow;


typedef struct s_workSpace
{   
    ptxRow PtxRow[100];

} workSpace;

编辑:我像这样分配其中一个庞然大物: WorkSpace[n] = (workSpace *) calloc(1, sizeof(workSpace));

我尝试了以下咒语,但无济于事:

int *x= &(WorkSpace[i]->PtxRow[ptxRowIndex].PtxRowProperties.lastPlotValue)[0];
int *x= (&WorkSpace[i]->PtxRow[ptxRowIndex].PtxRowProperties.lastPlotValue)[0];
int *x= &(WorkSpace[i]->PtxRow[ptxRowIndex].PtxRowProperties->lastPlotValue)[0];
int *x=   WorkSpace[i]->PtxRow[ptxRowIndex].PtxRowProperties.lastPlotValue;
int *x= *(WorkSpace[i]->PtxRow[ptxRowIndex].PtxRowProperties.lastPlotValue);
int *x= (*WorkSpace[i]->PtxRow[ptxRowIndex].PtxRowProperties->lastPlotValue);

我相信假设的 100 年里房间里的百万只猴子会在他们创造出正确的形式之前组成哈姆雷特。有任何想法吗?

4

2 回答 2

1

你可能想要

int *x= &(WorkSpace[i]->PtxRow[ptxRowIndex].PtxRowProperties.lastPlotValue[0]);

这假设WorkSpace[i]->PtxRow[ptxRowIndex].PtxRowProperties.lastPlotValue[0]将引用 int 数组的第一个元素。

于 2012-09-08T02:08:21.027 回答
0

如果WorkSpace[i]->PtxRow[ptxRowIndex].PtxRowProperties.lastPlotValue是您感兴趣的值,则可以&用来获取其地址:

int *x = &WorkSpace[i]->PtxRow[ptxRowIndex].PtxRowProperties.lastPlotValue;
于 2012-09-08T02:08:15.777 回答