Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: bash en 31 Enero 2017, 21:31 pm



Título: array y limite de array sobrepasado...
Publicado por: bash en 31 Enero 2017, 21:31 pm
Buenas a todos !!
tengo una duda sobre arreglos !!


tengo la siguiente estructura.


Código
  1. struct Tra{
  2.  
  3.   char b[8];
  4.   char c[32];
  5. };
  6.  
  7. ...
  8.  
  9. int main(){
  10.  
  11.   Tra tr;
  12.   memset(&tr, 0x00, sizeof(tr));
  13.  
  14.   strncpy(b, "123456789", 7);
  15.   strncpy(c, "abecdefeghijklmnopqrstuvywz");
  16.  
  17.   cout << b <<endl;
  18.  
  19. }
  20.  
  21.  
Código
  1. salida : >> 123456789abecedefghi.....
  2.  

me gustaria saber por que pasa eso con el valor de b si solo copio una cantidad especifica de caracteres en b?

nota : entiendo que c y c++ no tiene bound check .




el problema no es la compilacion ,esto lo edite rapido :D

pero al parecer no entendieron asi que me explicare , como cree esta estructura Tra
cree dos variable de tipo array a char , ambas con tamanos diferente , luego instancie un objeto de Tra en main , lo limpie ,luego le puse valores no importa que valor estos solo son ejemplo , luego lo imprimi solo el valor de la primera variable y la salida fue la mezcla de todos los valores de la variable c dentro de b , se que las estructura de array plano son como un super array pero por que salen todos los valore de c en b si solo copie cierta cantidad de char con strncpy?


Título: Re: array y limite de array sobrepasado...
Publicado por: engel lex en 31 Enero 2017, 21:51 pm
en tu codigo tienes errores para regalar... esto realmente compila en que compilador? no acostumbro a C, pero...

- el string de "c" no está cerrado (linea 15)
- usas las variables "b" y "c" sin declararlas


Título: Re: array y limite de array sobrepasado...
Publicado por: dato000 en 31 Enero 2017, 22:10 pm
en tu codigo tienes errores para regalar... esto realmente compila en que compilador? no acostumbro a C, pero...

- el string de "c" no está cerrado (linea 15)
- usas las variables "b" y "c" sin declararlas

(https://i.ytimg.com/vi/AbKsEiWsR-s/hqdefault.jpg)

no entiendo ni como compila eso.  :laugh: :laugh:


Título: Re: array y limite de array sobrepasado...
Publicado por: MAFUS en 31 Enero 2017, 22:15 pm
Ni siquiera compila. Supongo que se ha equivocado copiando el fuente.