を与えintへのポインタを設定する:は動的に私が定義され<code>struct</code>を持って間違ったサイズに
struct Query {
int *pages;
int currentpage;
};
struct Query *new = malloc(sizeof(struct Query));
new->pages = malloc(sizeof(int) * 4);
私は、サイズが行うことで4だったことを確実にするためにnew->pages
のサイズを確認:
int size = sizeof(new->pages)/sizeof(new->pages[0]);
をしかし、 size
は、4
ではなく、2
を返し続けます。
私が間違っているかもしれないことは誰にも分かりますか?
ありがとうございました。
'はsizeof(新規作成>ページ)/はsizeof(新規作成>ページ[0])' '意味はsizeof(INT *)/はsizeof(INT)' ' – BLUEPIXY
pages'が' pointer'あり、ありません配列です。あなたは言っている:ポインタのサイズを 'int'(ほとんどのシステムでは8/4 = 2)のサイズで割った値を教えてください。 – nicola
要素数を格納する構造体に3番目のメンバ変数を追加することをお勧めします。 – user694733