16-11-2013, 23:04
|
|
|
|
חבר מתאריך: 16.07.02
הודעות: 6,814
|
|
בעייה בהקצאת זכרון בC
שלום,
תוכנית מסוימת שכתבתי נפלה בזמן ריצה כל הזמן.
הגירסה הראשונה קורסת עם - Segmentation fault (core dumped)(גישה לזכרון שלא הוקצה)
והגרסה השנייה עובדת טוב
על מה ולמה?
קוד:
#include <stdio.h>
#include <stdlib.h>
typedef struct pixel {
char red,green,blue;
} pixel;
int main() {
unsigned long i,height=447,width=768;
pixel pxl = {0,0,0};
pixel *image_map;
image_map = (pixel*)malloc(width*height);
for(i=0; i<height*width; i++)
image_map[i] = pxl;
free(image_map);
return 0;
}
int main() {
unsigned long i,height=447,width=768;
char *image_map;
image_map = (char*)malloc(3*width*height);
for(i=0; i<3*height*width; i++)
image_map[i] = 0;
free(image_map);
return 0;
}
_____________________________________
|