Hello,

Je me trouve face a mon incertitude concernant un bout de code.
Je dois fournir a une API, une chaîne de caractères sous forme d'un pointeur sur un unsigned int, tout en respectant l'alignement du type et la règle de strict aliasing.

Actuellement, j'ai géré le soucis comme cela

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
typedef union uData
{
    uint32_t* uint_ptr;
    char* char_ptr;
} Data;
 
uint32_t* convert_str_to_uintptr()
{
    Data d;
 
    d.char_ptr = malloc(n * sizeof(char));
    // Fill the string here
 
    return d.uint_ptr;
}
Est-ce que cette méthode permet de satisfaire a toutes mes exigences ?