Bonjour à tous !

Après avoir lu des articles sur les pointeurs, dont celui de developpez.com, j'aimerais mettre au clair quelques incompréhensions. Oui je suis un peu lent...
Voici mes 3 questions:

  1. Est ce que ces 2 lignes d'instructions sont identiques ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int *px = malloc(sizeof(int));
    //EST LA MEME CHOSE QUE:
    int *px;
    // ?
    Autrement dit, malloc ne trouve son utilité que lorsque nous souhaitons considérer la mémoire allouée autrement qu'une suite d'octets ? Ceci dans le but d'utiliser notre pointeur comme un tableau ?

    Donc lorsque je veux initialiser une chaîne de caractère, il est inutile d'utiliser un malloc ? Si je fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char *phrase= "Bonjour à tous.";
  2. La mémoire va prévoir un octet par caractère + 1 et cet emplacement ne risquera pas d'être effacé par l'initialisation d'une autre variable ?

  3. Aussi j'ai cru comprendre qu'un pointeur attendait une adresse, dans la ligne d'instruction ci-dessus je ne lui en ai pourtant pas donné... Est-ce une intervention du compilateur ?


D'avance je vous remercie pour votre aide !