Initialisation de pointeurs / desallocation mémoire
Bonjour,
j'ai une strucure contenant des pointeurs.
Code:
1 2 3 4 5 6
| struct ma_struct {
...
SSL_CTX *ctx;
SSL *ssl;
...
}ma_struct_t |
j'aimerais savoir quand est ce que je dois initialiser ctx et ssl.
1) est ce que je dois les initialiser (avec NULL ) dès la définition de la structure :
Code:
1 2 3 4 5 6
| struct ma_struct {
...
SSL_CTX *ctx = NULL;
SSL *ssl = NULL;
...
}ma_struct_t |
2) Est ce que je peux les initialiser dans une fonction qui initialise les autres membres de ma structure ?
3) laquelle des deux méthodes est la meilleure ?
4) Par ailleurs, j'aimerais savoir si on peut faire un SSL_CTX_free(ctx) et SSL_free(ssl) si on n'a pas alloué de la mémoire pour les objets auxquels pointent respectivement ctx et ssl ? en gros est ce qu'on peut faire un free(p) d'un p*=NULL;
Merci d'avance pour votre aide.