0

次のことがどのように機能しているのかわかりませんか?

void main()
{
    static int a[] = {10, 12, 23, 43, 43};
    int *p[] = {a, a + 1, a + 2, a + 3, a + 4};
    int **ptr = p;
    ptr++;
    printf("%d,%d,%d", ptr - p, *ptr - a, **ptr);
}

これは出力を として与えています1 1 10。に**ptr格納されている値が得られますptrが、なぜptr-p与え1てはならないのでしょうsizeof(int)か?

4

3 に答える 3