Problema con estructura y punteros en C

Iniciado por Blaster, 8 Junio 2013, 17:34 PM

0 Miembros y 1 Visitante están viendo este tema.

Blaster

Buenas!!

Tengo un pequeño problema con un codigo me compila pero al momento de ejecutarla windows
tira una ventana donde dice que mi programa hace referencia a una zona de memoria a la que
no se puede escribir, les dejo el codigo

Código (cpp) [Seleccionar]
#include <stdio.h>

int main()
{
    int i;
    struct COORD { int array[10], y, z; } punto;

    struct COORD *ap_punto;

    for(i = 0; i < 10; i++)
        ap_punto->array[i] = 2;

    punto.y = punto.z = 1;

    ap_punto = &punto;

    ap_punto->y+=2;
    ap_punto->z=3;

    for(i = 0; i < 10; i++)
    printf("%d ", ap_punto->array[i]);

    return 0;
}


Saludos

Puntoinfinito

Probablemente en tu código tengas un problema de declaración de memoria. Lo que se le llama un core dumped, la palabra que más odio xD Eso o tu ordenador lleva más de 2 años (o menos) abierto y tu memoria ha llegado a su máximo jajaj
AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.

0xDani

Es simple, cuando haces esto:

Código (cpp) [Seleccionar]
for(i = 0; i < 10; i++)
       ap_punto->array[i] = 2;


Acabas de declarar la variable ap_punto, y ni siquiera sabes donde apunta, así que es perfectamente posible que estés tratando de escribir en una zona de memoria protegida.

Me parece que lo querías hacer es llenar el array de la estructura punto, para eso pon esta sentencia antes de llenar el array:

Código (cpp) [Seleccionar]
ap_punto = &punto;

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM