C - Pointeur + 1, Ce Qui Signifie

Ce que les codes essentiellement faire est d'imprimer l'adresse de chaque élément de l'int et des tableaux de char, souligné par des pointeurs i et ch.

#include<stdio.h>

int main()
{
    char *ch;
    int *i;
    int ctr;

    ch = malloc(sizeof(char)*10);
    i = malloc(sizeof(int)*10);

    printf("Index\ti Address\tch Address\n\n");

    for(ctr=0; ctr<10; ctr++)
    {
        printf("%d\t%p\t%p\n",ctr,i+ctr,ch+ctr);
    }

    getch(); 
    return  0;
}

Résultat:

Index   i Address       ch Address

0       00511068        00511050
1       0051106C        00511051
2       00511070        00511052
3       00511074        00511053
4       00511078        00511054
5       0051107C        00511055
6       00511080        00511056
7       00511084        00511057
8       00511088        00511058
9       0051108C        00511059 

Je comprends que chaque élément dans les deux tableaux occupe l'espace de la taille de leur type de données. Mon problème est que je suis confus de cette opération:

i+1

Si i est 00511068 , puis i+1 est 00511069 par opposition à la raison. Ce n' i+1 signifie? Comment avez-vous lu? Je pense que je ne comprends pas tout pointeur. Merci de m'aider à comprendre. Merci.

OriginalL'auteur dpp | 2011-10-25