Comment puis-je modifier un tableau int dans une fonction

Im nouveau avec le langage c et je vais avoir difficile tout en essayant de modifier un tableau sur ma principale fonction à l'aide d'une autre fonction. En plus de voir la solution que j'aimerais aussi obtenir une explication complète de ce qui est mal avec mon code et quelle est l'explication de votre solution.

OK, donc je l'ai fait aussi beaucoup d'essais et d'erreur d'expérimentation, mais sans succès pour résoudre mon problème. Finalement, c'est mon code actuel:

#include <stdio.h>
#define MAX 20
typedef int Values[MAX];

int changeArr(Values *vals2) 
{
    *vals2[0] = 200;
    *vals2[1] = 100;
    printf("%d and ", *vals2[0]);
    printf("%d\n", *vals2[1]);
    return 0;
}   

int main (int argc, char *argv[]) 
{
    Values vals;
    changeArr(&vals);
    printf("%d and ", vals[0]);
    printf("%d\n", vals[1]);
    return 0;
}

De sortie est:

200 and 100
200 and 0

Au lieu de:

200 and 100
200 and 100

OriginalL'auteur Popokoko | 2012-12-22