Inicialización posicional en la declaración
1
2
3
4
5
6
7
8
|
struct InitMember {
int first;
double second;
char *third;
float four;
};
struct InitMember test = { -10, 3.141590, "method one", 0.25f };
|
El orden importa en la inicialización posicional.
Asignación después de la declaración
1
2
3
4
5
6
|
struct InitMember test;
test.first = -10;
test.second = 3.141590;
test.third = "method two";
test.four = 0.25f;
|
Inicializadores designados (recomendados para facilitar la lectura)
1
2
3
4
5
6
|
struct InitMember test = {
.first = -10,
.second = 3.141590,
.third = "method three",
.four = 0.25f
};
|
Notas para miembros de cadena
char * apunta a una cadena literal o a una memoria asignada dinámicamente.
- Si se requiere almacenamiento grabable, use
char array[N] y copie el contenido.
- Tenga cuidado con la vida útil y la mutabilidad de las cuerdas puntiagudas.