Bonjour,
j'ai une strucure contenant des pointeurs.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.