0

我有一个包含数组的结构。

struct Page_Directory {
public:
    int numEntries;
    int nextDirPage;
    int [] array;
};

但是,我总是希望这个数组有一定的长度,这样这个结构的大小总是 4 + 4 + 100*4 字节。

我不想有如下结构声明:

struct Page_Directory {
public:
    int numEntries;
    int nextDirPage;
    int *array;
};

因为这个结构的大小是 4 + 4 + 4 = 12 字节(即使我使用newor为条目分配内存malloc)。

现在,我该如何实现呢?我不能像第一个那样在头文件中声明,你不要在头文件中放置数组大小的详细信息,只有每个成员的类型。

4

2 回答 2

11

如果你总是希望数组有一定的大小,那么就没有办法用一定的大小来声明它:

struct Page_Directory {
public:
    int numEntries;
    int nextDirPage;
    int array[100];
};
于 2012-10-26T05:14:31.447 回答
2
<datatype> [] <array_name> ;

在 C++ 中是不允许的

你也可以试试这个...

struct Page_Directory {
public:
    int numEntries;
    int nextDirPage;
    static int const size=100;
    int  array[size];
};
于 2012-10-26T05:23:48.607 回答