elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Estructuras: inicializar en ceros un array que es miembro de una estructura.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Estructuras: inicializar en ceros un array que es miembro de una estructura.  (Leído 1,774 veces)
quantumax9

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Estructuras: inicializar en ceros un array que es miembro de una estructura.
« en: 12 Febrero 2019, 16:58 pm »

Código:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
struct Clients{
       char nombre[50];
       char apellido[50];
       int DNI;
       char clase[1];
       int numberSeat;
       int plane1[10]={0,0,0,0,0,0,0,0,0,0};//ERROR. ¿POR QUÉ NO SE PUEDE INICILIZAR ASÍ????

       };
¿Cómo hago para inicializar el miembro array plane1 dentro de la definición de la estructura con ceros?
MENSAJE DEL COMPILADOR:
[Warning] no semicolon at end of struct or union
 syntax error before '=' token

GRACIAS


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Estructuras: inicializar en ceros un array que es miembro de una estructura.
« Respuesta #1 en: 12 Febrero 2019, 18:11 pm »

Porque una estructura sólo es un modelo. No puedes guardar nada hasta que no hagas una variable de ella.


En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Estructuras: inicializar en ceros un array que es miembro de una estructura.
« Respuesta #2 en: 12 Febrero 2019, 19:53 pm »

1- En C++ 11 puedes hacer algo como:
Código
  1. struct Clients{
  2.       char nombre[50] = {};
  3.       char apellido[50] = {};
  4.       int DNI;
  5.       char clase[1];
  6.       int numberSeat;
  7.       int plane1[10] = {}; // inicializa a 0 todos los elementos
  8. }

2- Puedes usar un constructor para tu estructura, aunque en este punto recomendaria que uses una clase:
Código
  1. struct Clients{
  2.       char nombre[50];
  3.       char apellido[50];
  4.       int DNI;
  5.       char clase[1];
  6.       int numberSeat;
  7.       int *plane1;
  8.       Clients(){
  9.           plane1 = new int[10]();
  10.           // inicializa el resto
  11.       }
  12. };

3- Puedes usar la funcion:
   
Código
  1. memset(plane1, 0, sizeof(plane1));

4- Puedes usar un loop sobre cada elemento de tu array

5- Usa contenedores STL (vector, list, etc) en tu estructura

Saludos
En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Inicializar array bidimensional con palabras
Programación C/C++
folostia 5 4,647 Último mensaje 21 Diciembre 2011, 16:21 pm
por folostia
numero rodeado de ceros en array
Java
fprg 5 2,762 Último mensaje 29 Noviembre 2013, 20:59 pm
por ivancea96
(Consulta) Inicializar arreglo de estructura en C
Programación C/C++
class_OpenGL 2 1,867 Último mensaje 27 Octubre 2016, 14:37 pm
por class_OpenGL
Pasar un campo(miembro) de una estructura a función por referencia.[C]
Programación C/C++
NOB2014 1 2,179 Último mensaje 17 Enero 2017, 17:53 pm
por NOB2014
¿Como declarar un array dentro de una estructura en MASM?
ASM
Usuario887 2 4,213 Último mensaje 23 Febrero 2021, 23:03 pm
por Usuario887
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines