Initialisation rend pointeur d'entier sans fonte de C

Désolé si ce post vient de l'ignorance, mais je suis encore très novice en C, donc je n'ai pas une grande compréhension. Droit maintenant, je suis à essayer de comprendre les pointeurs.

J'ai fait ce bout de code pour tester si je peux changer la valeur de l'élément b de la fonction de changement, et le porter sur le dos dans la fonction main(sans retour) en passant le pointeur.

Cependant, j'ai une erreur qui dit que.

Initialization makes pointer from integer without a cast
    int *b = 6

De ce que je comprends,

#include <stdio.h>

int change(int * b){
     * b = 4;
     return 0;
}

int main(){
       int * b = 6;
       change(b);
       printf("%d", b);
       return 0;
}

Malade, je suis vraiment inquiète, c'est la fixation de cette erreur, mais si ma compréhension de pointeurs est complètement faux, je ne serais pas opposé à la critique.

Depuis le change fonction ne retourne rien d'utile, vous devez le déclarer void.

OriginalL'auteur Jeff H | 2015-10-29